C++11 move左值转化为右值

06-15 1290阅读

单纯的左值只能用左值引用和右值只能用右值引用有些局限,在一些情况下,我们也需要对左值去调用右值引用,从而实现将左值里的内容转移到右值中

标准定义:

C++11 move左值转化为右值

功能就是将一个左值强制转化为右值,然后实现移动语义

注意:

1.STL中也有另一个move函数,就是将一个范围中的元素搬移到另一个位置。

2.不要轻易对左值move

3.move(对象)以为这将返回的临时变量变成了将亡值,move类似一种标签(原值不变,变返回值)

4.move(对象)后该对象生命周期没有改变。

int main()
{
	int a = 1;
	int b = 2;
	int& ra1 = a;//左值引用左值
	int&& ra2 = std::move(a);//右值引用左值(引用的是move后的临时变量(右值))
	return 0;
}
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]