ここで: http://en.m.wikipedia.org/wiki/Rule_of_three_(C++_programming)
/** Copy Assignment Operator */
Foo& operator= (const Foo& other) {
Foo temporary (other);
std::swap (data, temporary.data);
return *this;
}
例ではstd::swap
、データを一時的なものと交換するために使用します。なぜテンポラリーとスワップを作成するのでしょうか? コピペした方が早くない?私も他の場所でこれを見て、混乱しました。