1
学习左值和右值。定义是什么可以是“地址”是左值,否则,它是右值。前/后缀增量的左值和右值
我检查了运算符优先级,前缀和后缀增量的优先级都高于“运算符的地址”。
对于以下两个示例,任何人都可以解释一下为什么第一个“& ++ value1”是一个左值,而第二个“& value1 ++”是右值。
我对这两种情况的错误理解是:pValue1指向value1变量。在建立地址关联之前或之后,无论value1变为8,value1变量总是占用一个内存位置,我们可以得到它的地址,对吗?
int value1=7;
int *pValue1=&++value1;
int *pValue1 = &value1++;
postfix'operator ++'返回一个预增量副本,而不是对增量对象的引用 – Fureeish
不直接相关,但是您的“左值”定义不完整。位域是左值,但你不能得到他们的地址。 – HolyBlackCat