C++的移动构造函数和移动赋值运算符

2022-03-25
阅读 3 分钟
2.6k
在 C++ 11 标准之前(C++ 98/03 标准中),如果想用其它对象初始化一个同类的新对象,只能借助类中的复制(拷贝)构造函数。在C++11中,引入了右值引用,提供了左值转右值的方法,避免了对象潜在的拷贝。而移动构造函数和移动赋值运算符也是通过右值的属性来实现的。直观的来讲,移动构造就是将对象的状态或者所有权从一...