单个Cout中单个变量的多个更新的顺序
Order of multiple updates to a single variable in single cout
使用单个COUT打印相同的变量多次更新时,我会得到一个奇怪的更新顺序。有人可以解释如何完成此类更新吗?
int value = 2;
cout << value << value++ << ++value << endl; // 434
value = 2;
cout << ++value << value++ << value << endl; // 424
value = 2;
cout << value++ << value++ << ++value << endl; // 435
value = 2;
cout << ++value << value++ << value++ << endl; // 532
执行单个语句中表达式的顺序是未定义的。显然,除非通过括号或执行顺序指定。例如:
int a[3]{};
int i=1;
a[i] = i++; //undefined if a[1] or a[2]
此类代码的行为尚未定义,并且取决于编译器和使用的平台。不用说您不应该依靠此代码的某种行为。
相关文章:
- 从C++本机插件更新Vector3数组
- QGraphicsPolygonItem在拖动时未更新QPolygonF坐标
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- cmake更新缓存的变量
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 更新到莫哈韦后出现cmath错误
- OpenMP:并行更新数组总是需要减少数组吗
- 为什么我的变量没有更新,我的 LED 没有亮起?
- 指针没有更新它在void函数内部指向的值
- 如何在c++中获取要更新的值
- 已修改的LinkedList未在文本文件本身中更新
- Qt:当QListView获得新条目时,如何更新QStringList
- 更新的矢量元素不打印
- 编辑单个 YAML 值,而不更新 YAML (YAML CPP) 其余部分的格式
- 这个针对单个写入器 + 读取器的发布/检查更新类是否可以使用 memory_order_relaxed 或获取/发布以提
- 单个Cout中单个变量的多个更新的顺序
- 如何在SDL1.2曲面上高效地更新单个像素
- Qt更新单个XML元素
- 如何在这种OOP情况下更新单个元素
- qtexttedit更新单个QTextCharFormat