【发布时间】:2010-12-12 20:00:44
【问题描述】:
#include <iostream>
using namespace std;
int main () {
int value = 1, *pointer;
pointer = &value;
cout << *pointer++ << endl;
cout << *pointer << endl;
}
为什么++ 运算符不增加value?
【问题讨论】:
-
@the_drow:我不这么认为。编写良好的代码会在此处使用括号以使编译器和其他程序员都清楚其意图。
-
碰巧,这已经在 comp.lang.c 常见问题解答中。请参阅我的答案以获取链接。
-
@Ben Voigt:你多久看到一次这样的代码?我以前见过。常见问题解答应该包含您不应该做的事情,并且应该建议不要这样做。
-
@aix:是的,但是在stackoverflow中也有一个c++的faq标签。
-
@Ben:
while(*p++)是非常经典的 C 语言之一,自从 K&R 在 40 年前将其固定下来,没有人用括号编写它。