Setting the size to 0 allows for the push action, creating an index for the newly pushed value.
If you push a value in an array of width=1, array.at(0) is already = 0 and your new value will be put in index 1.
If you push a value in an array of width=0, your new value will be put in index 0.
Pop actions works the same, deleting/removing the specified index (back or front).
Perhaps the manual needs an update on that specificity, pop and push actions were added after the first edit of the entry.
Ashley, you probably have a better way to formulate the explanation and perhaps could edit the entry ?