右值引用

2020-11-17  本文已影响0人  FakeCSer爱去网吧

主要整理与http://c.biancheng.net/view/7829.html 和 《c++primer》


左值和右值


右值 :要么是常量,要么是在表达式求值过程中创建的临时对象

左值引用和右值引用

int num = 10;
int &b = num; //左值引用
int &c = 10; //错误,无法对右值添加左值引用

//但是可以对 右值添加常量左值引用。也就是说,常量左值引用既可以操作左值,也可以操作右值
const int &e = num;
const int &f = 10; 

int num = 10;
int && b = num;  //错误,右值引用不能初始化为左值,可用以下做法   
int && c = std::move(num); //move()::将左值转换成右值
int && d = 10;
a = 100; //右值引用可以修改右值
const int&& e = 10;//也可以定义常量右值引用

右值引用常用于 :移动语义和完美转发

上一篇 下一篇

猜你喜欢

热点阅读