C++的左值和右值
2015-07-13 17:35
239 查看
都说学过VB后再学C++是一件SO EASY的CASE,因为这两者之间有很大的关联。先不说关联了,现在说一说VB和C++两者的不同之处:左值、右值和表达式。
请大家先看下面这张图片
从图中不难看出:现在的左值既可以出现在表达式的左边也可以出现在表达式的右边;而右值只能出现在表达式的右边。而左值和右值又是相对于变量而言的,因为变量可以是右值也可以是左值(如下图)。
因此每个变量都有两个值:变量所指内存中的数据值(为左值)和与之对应的那个内存地址(为右值),具体在代码中的体现如下图所示。
以上就是我理解中的左值和右值了。而与左值和右值休戚相关的赋值语句和表达式,请参看下图。
赋值:
表达式:
感谢您的宝贵时间,如有不当之处敬请指正
非常感谢~~~~~
参考资料
请大家先看下面这张图片
从图中不难看出:现在的左值既可以出现在表达式的左边也可以出现在表达式的右边;而右值只能出现在表达式的右边。而左值和右值又是相对于变量而言的,因为变量可以是右值也可以是左值(如下图)。
因此每个变量都有两个值:变量所指内存中的数据值(为左值)和与之对应的那个内存地址(为右值),具体在代码中的体现如下图所示。
以上就是我理解中的左值和右值了。而与左值和右值休戚相关的赋值语句和表达式,请参看下图。
赋值:
表达式:
感谢您的宝贵时间,如有不当之处敬请指正
非常感谢~~~~~
参考资料
相关文章推荐
- C++第一章总结
- 【C语言】[变量]:变量在内存的存储位置
- Introduce to algorithm--------pseudo code to C/C++ code(chapter 12)
- 《转》c++学习路线与推荐书籍
- c++ sort的使用 数字排序
- [转载]值得推荐的C/C++框架和库
- c++ map的使用 出现次数最多的数
- C语言strcasecmp()函数:判断字符串是否相等(忽略大小写)
- c++类中的虚函数
- 括号匹配 c++
- c++语言常用转义序列符号
- C++实现python标准库中的Counter
- C/C++拾遗(十九):MFC - 一个简单的窗口程序
- 简单字符串模式匹配算法的C++实现
- c++链表实例与链表基本知识
- vs2013 远程调试 (c++)
- 推荐!国外程序员整理的 C++ 资源大全
- C++ 字符串编程训练5
- 简易C\C++内存池
- c++的进程和线程【windows】