gpt4 book ai didi

C++ 序列点和 C++17 中求值顺序的变化

转载 作者:太空狗 更新时间:2023-10-29 22:54:29 24 4
gpt4 key购买 nike

<分区>

我对 changes 的方式有点困惑到 C++17 会影响您不应在序列点之间修改一个变量 2 次的规则。

例如,这在 C++17 中是指定的、未指定的还是未定义的?

void func(int x, int y);
int x=47;
func(x++,x++);

我猜是 UB。

编辑:额外数据点:c++2a 模式下的 clang HEAD 给出

prog.cc:8:11: warning: multiple unsequenced modifications to 'x' [-Wunsequenced]

edit2: 与 C++2a 模式下的 gcc HEAD 相同

prog.cc:8:15: 警告:'x' 上的操作可能未定义 [-Wsequence-point]

edit3:使用预增量 gcc 和 clang 给出 different results

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com