>>259
>つまり構造体Stringには実体ではなくこのアドレスが入っているだけという感じなのでしょうか。

String 変数 str には実体は入っていない(実体へのアドレスが入っている)
だから、構造体にString 変数 strを入れても実体へのアドレス以上のものは入らない

という感じ。なので、実体の文字列に到達するにはもうちょい工夫(というかStringクラスの内部構造の理解)が必要だが、
クラス内部を知らなくても、実体へのメモリアドレスを知りたかったら str.c_str() を使えばいいように設計されています。

構造体に&を付けて得られるメモリアドレス、&str というメモリアドレス、そして str.c_str() が返すメモリアドレスを見比べると面白いかもしれませんね。