【发布时间】:2013-07-24 00:56:25
【问题描述】:
double *p;
显然,gcc 4.6.3 仅在 -O3 下的以下行中将 p 增加 1。
myfunc (*(p++), *(p++));
这是一个错误吗?
【问题讨论】:
-
您可能想要搜索术语“序列点”。这是关于增量运算符的常见问题,我认为如果您搜索该站点,您可以找到一些非常好的答案。
-
每行代码一个操作是可行的方法 - 您可以使代码更易于阅读,并且不会遇到这些问题。
-
@EdHeal +1 for '每行代码一个操作就是要走的路'
-
专业提示:这几乎不是编译器错误。
标签: pointers gcc compiler-construction