>>145
通常、C++のbasic_stringでは、
大抵ropeとかいわれるデータ構造や類似のデータ構造が使われ、
あなたの言うような原始的な実装は行なっていません。

C++ではoperator[]がoverload出来るので、こういう事が出来るのです。
構文糖衣のおかげで、まずは原始的な実装から始められるのも嬉しいですね。