With the implementation that I have in mind, the characters belong to a dynamically allocated array. There is a pointer member in the String object that points to the first character of this dynamically allocated array.Originally Posted by Eman
When you access s, it accesses s.data, returning it by reference. Therefore, the address of s is the address of s.data. Hence, if &s is equal to &s, then &s is equal to &s.data.