c++既是增量又是赋值.当分配发生时(在该行上的其他代码之前或之后)由编译器决定.它可以在cout <<之前或之后发生.
这可以在C99标准中 找到http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1124.pdf
您可以在第28页的pdf或5.1.2.3节中找到它
p的实际增量可以在前一个序列点和下一个序列点之间的任何时间发生
由于有人要求提供C++标准(因为这是一个C++问题),可以在第1.9.15页第10节(或pdf格式的24)中找到
对各个算子的操作数和个别表达式的子表达式的评估是不确定的
它还包括以下代码块:
i = v[i++]; // the behavior is undefined
i = 7, i++, i++; // i becomes 9
i = i++ + 1; // the behavior is undefined
Run Code Online (Sandbox Code Playgroud)
我觉得C99标准的解释更清楚,但在两种语言中都是如此.
| 归档时间: |
|
| 查看次数: |
967 次 |
| 最近记录: |