【发布时间】:2014-11-23 23:02:38
【问题描述】:
我知道的是:
-
L-Value 是一个表达式(可以是单个变量表达式,即 x),它有一些地址(意味着它存储在内存中并且可以在当前表达式的范围之外被引用)。
- “this 指针”指向对象本身,这意味着它包含对象的地址,这反过来意味着它是一个 L 值(根据第 1 点的定义)。
-
“这个指针”真的是 L-Value 吗?因为在帖子“Type of 'this' pointer”中,人们说“这个指针”不是 L 值
- 如果“这个指针”不是 L 值,那么它是 R 值还是其他?
【问题讨论】:
-
你链接到的帖子似乎很好地解释了这个问题。
-
该帖子略有不同,并且在不同的上下文中我只需要重点回答这就是为什么我以项目符号形式发布我的问题。我的意思是是/否类型的答案。
-
但是 vsoftco 在我在我的问题中提到的帖子中很多人自信地说“这个指针”不是 L 值,或者他们说“这个指针”是 R 值,这就是我感到困惑的原因。因为我认为“这个指针”是一个 L 值,而那个帖子中的人说它不是一个 L 值
-
“L 值是一个表达式 [...],它有一些地址” 表达式没有地址。内存区域(即对象)具有地址。表达式可以引用一个对象,或者产生一个对象(除其他外)。
-
理解价值类别需要理解语言抽象,这是许多程序员难以解决的问题,只能通过经验和学习才能真正获得。
标签: c++