控制对象拷贝,赋值,析构
拷贝构造函数,移动构造函数
拷贝赋值运算符,移动赋值运算符
析构函数
-------------------------------------------------------------------------------------------------------------------------------------
1. 拷贝构造函数:参数必须是引用类型&,一般是const的
拷贝构造函数的第1个参数指的是对于自身类类型的引用
2.拷贝赋值运算符:本质是运算符函数重载
3.析构函数:释放和销毁对象,无返回值
使用“=default”来显示的要求编译器生成合成版本的拷贝构造函数、拷贝赋值运算符、析构函数
阻止拷贝:1)定义删除的函数:拷贝构造函数、拷贝赋值运算符使用“=delete”
2)析构函数不能是删除的成员
3)private拷贝控制:拷贝构造函数、拷贝赋值运算符使用“private”
对象移动:对于某些拷贝后就销毁的对象,移动而非拷贝会大幅度提高性能
新标准为了支持移动操作,引入了新的引用类型:右值引用:&&
右值引用只能绑定到一个即将被销毁的对象上面:int &&r=42;右值引用(int &r=i 是一般的左值引用)
或者使用标准移动函数move():int &&r=move(r1);
时间: 2024-11-20 04:58:20