All CArray
-derived classes can specify granularity.
This is to make code more efficient by only allocating space for the array
in certain size chunks. It is effective, but some thought needs to go into
the choice of granularity. If an array is needed for typically 5 to 8 objects,
then a granularity of 4 or 5 is sensible. If the array always contains 15
objects, then the granularity should be 15. However, if there are typically
2 or 3 objects, having a granularity of 100 would be silly. Similarly, if
there are typically 101 to 105 objects, a granularity of 100 would be silly,
as it would mean that 200 spaces are always allocated. However a granularity
of 1 would also be silly, as it would involve many reallocations. The final
choice depends on the usage pattern.