c++ 右值引用

左值和右值

左值可以理解为可以取地址的对象,右值指的除左值外的值,这个地方不必过于纠结

左值引用

就是常见的 &+变量名

右值引用

当引用一个变量时可以使用

int A=10;
int & a=A;//这里就是左引用

但是有时我们需要引用一个立即数怎么办

int &a=10;//error
const int &a=10;//right,这里是常引用,这里是把这个10临时保存到内存中,随着程序到期后一起销毁

当c++加入右值引用后,可以把上面的操作变成

int && a=10;

右值引用可以进行读写操作,而常引用只能进行读操作。
右值引用的存在并不是为了取代左值引用,而是充分利用右值(特别是临时对象)的构造来减少对象构造和析构操作以达到提高效率的目的。

左值引用类似于指针引用,不过编译器替我们简易实现了,左值在栈中是有真实存在的,而

posted @   依然依然的a  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示