强迫使用move语法

这是在把move构造函数和move拷贝赋值操作符应用在左值时候要用到的,这时候需要把左值转换成右值才行。
你可以选择使用static_cast转换,也可以选择使用utility头文件中提供的move()函数,如下图所示:



One原来是左值,经过move转换以后就变成了右值就可以应用右值赋值操作符。不过这是在你的类中已经声明了右值拷贝操作符的前提下。
在默认情况下C++会提供一个默认的右值构造函数,这如同如果你什么都不写C++会提供一个默认构造函数一样。此外,C++还提供默认的右值拷贝赋值操作符和右值拷贝构造函数。

你可能感兴趣的:(强迫使用move语法)