在这里: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
临时交换数据。为什么我们要创建一个临时的和交换?只是复制不是更快吗?我在其他地方也看到了这个,很困惑。