I have stringSize declared as an int in my private section already just change that to size_t?
That would be the best, using an int can cause problems, when dealing with large strings (*), that's exactly where size_t comes in, it's intended to hold such large lengths.
*: if you declare a variable like this:
int var; , then it will be a signed integer, signed tells you that the integer may be negative as well, but where would you ever need a negative string size? The answer is: you'll never need that.
An addition is that, when dealing with very large strings, finally all bits of the integer variable will be set to 1 (including the high order bit), but the high-order bit (of a signed integer) just indicates whether the value will be interpreted as a positive or as a negative value.
If the high-order bit is 1, the (signed) integer will be interpreted as a negative number, and this can lead to serious bugs in your class.
(This is only the simple explanation, if you want the more correct explanation then I suggest you to Google on: two's complement)