OK、それで私はすべてコピーアンドスワップのイディオムで売られており、私はそれを実装する方法をほとんど知っていると思います。
ただし、またはコードベースはMFCのCStringクラスを文字列として使用するため、これは変更されません。
swap
しなければならない(すべきか???)ので、私はできません
std::swap(this->my_cstring, rhs.my_cstring);
これにより、スローされる可能性のある一時的なCStringオブジェクトが作成されます。(それに加えて、その非効率的です。)
だから私はどこに残っているのですか?トライキャッチを追加する必要がありますか?これ(非常にまれですが)のメモリ不足状態で例外を発生させ、スワップを失敗させることを実際に許可する必要がありますか?
CStringsの実装を見ると、スワッピングを可能にするメンバーまたは関数がないようです...