首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

左右值引用和移动语义

左右值和左右值引用 什么是左值、右值呢?一种极不严谨的理解为:在赋值的时候,能够被放到等号左边的值为左值,放在右边的值为右值。...: 拥有身份 (identity):可以确定表达式是否与另一表达式指代同一实体,例如通过比较它们所标识的对象或函数的(直接或间接获得的)地址; 可被移动移动构造函数、移动赋值运算符或实现了移动语义的其他函数重载能够绑定于这个表达式...C++11 中: 拥有身份且不可被移动的表达式被称作左值(lvalue)表达式; 拥有身份且可被移动的表达式被称作将亡值(xvalue)表达式; 不拥有身份且可被移动的表达式被称作纯右值(prvalue...将亡值的产生与右值引用的产生而引起的,对于将亡值我们常用到的有: 返回类型是右值引用的函数调用或重载运算符的表达式(如std::move(x)) 转换为右值引用的转换函数的调用表达式(如static(a)) 1.4 左右值引用...A a2(std::move(a1));// 从亡值移动构造 } 2.3 移动赋值运算符 一个类 T 的移动赋值运算符是名为 operator=的非模板非静态成员函数,它接受恰好一个 T&&

84140
您找到你想要的搜索结果了吗?
是的
没有找到
领券