C++ 左值和右值,左值引用和右值引用
来源:互联网 发布:十大神优化游戏 编辑:程序博客网 时间:2024/05/29 14:54
区分左值右值的真正说法是:能否用“取地址&”运算符获得对象的内存地址。
临时对象是右值,可以被右值引用或者常量左值引用来引用;
持久对象是左值,可以被左值引用或常量左值引用来引用;
对于临时对象,它可以存储于寄存器中,所以是没办法用“取地址&”运算符;
对于常量,它可能被编码到机器指令的“立即数”中,所以是没办法用“取地址&”运算符;
字符串字面值常量是C++标准中明确指明的特例,为常量左值,所以可以取地址&运算,其地址属于进程的只读内存空间。其它的字面值常量都是“纯右值”。
也就是说:
&5 ; //非法. 5为常量右值
&("hello") ; // 合法,"hello" 为常量左值
阅读全文
0 0
- 左值引用和右值引用
- 引用左值和引用右值
- 左值引用和右值引用
- C++——左值引用和右值引用
- C++——左值引用和右值引用
- 右值和左值,右值引用和左值引用
- c++中的左值和右值,左值引用和右值引用
- C++ 左值和右值,左值引用和右值引用
- c++ 左值、右值、左值引用和右值引用
- 左值、右值、左值引用、右值引用
- 左值、右值、左值引用、右值引用
- 左值 右值 左值引用 右值引用
- 左值引用和右值引用的区别
- C++左值引用和右值引用
- c++11之左值引用和右值引用
- c++11之左值引用和右值引用
- 左值引用(&)和右值引用(&&)
- 引用,左值,右值
- Voice Conversion 项目笔记(含从VCC 2016匿名比赛深挖的各前沿方法性能对比)
- redis-sentinel安装配置
- React前端开发入门与实战案例
- nginx限流方案
- [Android] ProgressDialog与耗时操作
- C++ 左值和右值,左值引用和右值引用
- 大数据Hive的简介和安装_03_01
- 插入排序
- 解决Qt :libpng warning: iCCP: known incorrect sRGB profile警告信息
- Canvas的使用以及方法整理
- spark streaming 读取kafka 配置
- PAT乙级1051. 复数乘法 (15)
- 错误:ActionEnter cannot be resolved to a type
- 帆软插入、删除行后对序号列排序及一些其他问题