コピー アンド スワップ方式を使用する場合の代入演算子について質問があります。
String & operator = (String s) // the pass-by-value parameter serves as a temporary
{
s.swap (*this); // Non-throwing swap
return *this;
}// Old resources released when destructor of s is called.
すべてのポインターと動的に割り当てられた変数をディープコピーする優れたコピー コンストラクターがあるとします。
では、上のコードと下のコードの違いは何ですか?
String & operator = (String s) // the pass-by-value parameter serves as a temporary
{
return s;
}
良いコピー コンストラクターがあるので、別のオブジェクト s が operator= 関数内に作成されると思います。では、スローしないスワップ関数を使用するポイントは何ですか?