std::move()将左值转换成右值。
移动构造函数:只进行浅拷贝,并将之前对象的指针值为空,这样析构的时候就不会将对象释放掉,而且不需要再次拷贝,提高了性能。
拷贝构造函数没有将原来的对象指针置空。
右值引用:将即将消失的右值保留下来,右值引用其实是左值。将一个左值转换成右值调用移动构造函数,而不是拷贝构造函数。比如vector.push_back的时候。
std::move()将左值转换成右值。
移动构造函数:只进行浅拷贝,并将之前对象的指针值为空,这样析构的时候就不会将对象释放掉,而且不需要再次拷贝,提高了性能。
拷贝构造函数没有将原来的对象指针置空。
右值引用:将即将消失的右值保留下来,右值引用其实是左值。将一个左值转换成右值调用移动构造函数,而不是拷贝构造函数。比如vector.push_back的时候。