在移动构造函数中,将源对象中的类数据成员添加到要构造的对象:将源对象的数据成员分配给默认值。这样可以防止析构函数多次释放资源(如内存):在移动赋值运算符中,如果尝试将对象赋给自身,则添加不执行运算的条件语句。该示例产生下面的输出:使用移动语义的此示例版本比不使用移动语义的版本更高效,因为前者执行的复制、内存分配和内存释放操作更少。

详解C++中对构造函数和赋值运算符的复制和移动操作

详解C++中对构造函数和赋值运算符的复制和移动操作

详解C++中对构造函数和赋值运算符的复制和移动操作