gpt4 book ai didi

c++ - C + C++ = 未定义的行为?

转载 作者:太空狗 更新时间:2023-10-29 23:53:46 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How do we explain the result of the expression (++x)+(++x)+(++x)?
Undefined Behavior and Sequence Points

我有问题,当代码

U = C + C++;

标准类型和我自己的类型以不同的方式运行。我有一个例子 http://ideone.com/4S1uA我对 int 和我的类 Int 有不同的值,这应该代表真正的 Int 工作方式。

是否可以让我的类(class)表现得像标准 int 一样?这段代码有未定义的行为吗?

为什么它是不安全的行为? C++ 有一个操作优先级,所以 c++ 应该首先被评估,因为它改变了 a 的值,所以首先进行加法参数应传递 a 的新值,第二个传递旧值。这种方式适用于 Int 类,但不适用于标准 int。

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