>>491
デストラクタにメモリの解放を任せるため、
それでも vector くらいは使った方がいいよ。
あるいは realloc とか使うのであれば、
自作のコンテナかスマートポインタかを作るか。

vector で受ければ、要素の挿入も自動で出来るからプログラム楽だし。
ただ、メモリを縮小することは基本的にはできないかな。
(resize でメモリ少なくしても、メモリの再確保は行われない)
もう1つバッファ作ってそこにコピーするならいけるけど。

wstring で受けた方が replace メンバ関数があるから便利だけど、
メモリの連続性は多分全てのコンパイラで保証されてるとは思うけど、
ヌルターミネータの扱いがどう実装されてるか
(常にヌルターミネータを付ける実装になっているか、
 それとも c_str 実行時にヌルターミネータを付ける実装になっているか)
の問題がよく分からないので、やめといた方が無難。

あと、効率を求めるならまた他の実装もあると思う。

その他の特定の場合にエラーが出るかどうかは、
Replace の中身次第やね。これ以上は何とも言えん。