您的位置:首页 > 其它

左值和右值

2017-02-19 22:03 113 查看

引用

引用说明为对象建立引用名,即别名

引用在定义初始化时与对象名绑定,程序中不能对引用重定义

一个对象的别名,从使用方式和效果上,与使用对象名一致

区分左值和右值

能否用“取地址&”运算符获得对象的内存地址

对于临时对象,它可以存储于寄存器中,没办法用“取地址&”运算符

对于常量,它可能被编码到机器指令的“立即数”中,没办法用“取地址&”运算符

std::string strHello = "Hello World!"
Foo(strHello.substr(0, 5)); //右值引用, substr()返回作为Foo参数是临时变量,执行结束后就不再存在.
Bar(strHello); //左值引用, strHello在执行结束后依然存在
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: