左值和右值
来源:互联网 发布:ubuntu usr local 编辑:程序博客网 时间:2024/04/30 01:09
我们在看书的时候,经常可以看到关于 左值(L-value) 和 右值(R-value) 的概念,那么到底什么是左值,什么是右值,它们之间的区别又是在哪里呢?
通俗的讲,左值就是能够出现在赋值符号左面的东西,而右值就是那些可以出现在赋值符号右面的东西了。
举个很简单的例子:
a=b+100;
那么这里a就是左值,b+25就是一个右值。左值和右值之间是不一定都能互换的,上面的这个例子就是不能互换的,如果写成
b+100=a;
大家都能看出来这样写会不编译通过的,因为编译器无法判断b+100的内存地址,所以不能操作。
看了这个例子,可以做一个总结,左值必须应该是一个变量或者是表达式等,但是它的物理位置是可以确定的,而右值不一定,这也是它们两者之间的区别。
关于左值是表达式的例子有数组,还有指针这些都可以。
int array[10];
int a=5;
array[a+3]=10; //这里左值就是一个数组表达式了
另外:liotta朋友给了一些其他方面的提示 (左值右值翻译可能有些问题)
错了,没有什么左值和右值!
翻译害人不浅,
L-value中的L指的是Location,表示可寻址。The "l" in lvalue can be though of as location
R-value中的R指的是Read,表示可读。The "r" in rvalue can be thought of as "read" value.
翻译害人不浅,
L-value中的L指的是Location,表示可寻址。The "l" in lvalue can be though of as location
R-value中的R指的是Read,表示可读。The "r" in rvalue can be thought of as "read" value.
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- 左值和右值
- C++中的左值和右值
- 左值和右值的概念
- 对腾讯山寨行为的看法
- 性能计数器之CPU
- 据说这就是传说中的Windows Live writer
- 哪本书是对程序员最有影响、每个程序员都该阅读的书?
- 实训java第十二课 时间 日期 Date Calendar DateFormat StringBuffer StringBuilder String正则表达式 包装类
- 左值和右值
- 仍在连接中, 请给 MCU 上电...
- mfc基础
- 实训java第十三课 内部类 匿名内部类 局部内部类 静态内部类 集合LinkedList
- Android OTA 升级之五:updater
- ZwQuerySystemInformation 简单应用
- popen函数详解
- Module.symvers missing
- 在Dropdownlist选中指定内容或指定值的项