如果我有以下代码:
int A[5] = { 2, 1, 3, 55 };
int *p = A;
cout << ++(*p);
结果是3
,并且 A
的第一个位置的值也是3
,为什么呢?
我的意思是,按照运算符的层次结构,()
比++
更具层次性,那么我们需要先操作*p
:
++(*p) => ++(2) => 3
在 A
向量发生任何变化时?
++(*p) => ++(2) => 3
,而是使用++(*p) => ++(A[0]) => 3
。这里增加的是数组元素A[0]
的值,而不是整数值2
。 - Daniel Langr