移动赋值运算符(c++11)
1.概念
1)移动赋值运算符是一个重载的赋值运算符,参数为自身类的右值引用,返回值自身类的左值引用,由于不抛出任何异常,用noexcept指定(如果定义在类的外面,那么定义也要用noexcept指定)
2.合成移动赋值运算符
3.具有拷贝赋值和移动赋值两种功能的赋值运算符
此赋值运算符有一个非引用形参,这就意味为使用它时会发生拷贝初始化,遇到左值则使用拷贝构造函数,遇到右值则使用移动构造函数。
第一个赋值中:hp2是一个左值,所以会使用拷贝构造函数来生成临时对象rhs;
第二个赋值中:move函数创建了一个右值,所以会使用移动构造函数来生成临时对象rhs,hp2被move调用后就不能再使用了。
posted on 2018-09-26 16:04 JoeChenzzz 阅读(3583) 评论(0) 编辑 收藏 举报
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步