PaulMurrayCbr:
The String object contains a pointer to some dynamically allocated memory. The object itself has a fixed size - it's the dynamically allocated memory that varies.
One more constructive answer to allay my doubts. Thanks PaulMurrayCbr - karma added