gpt4 book ai didi

c++ - C++ 中带有 self 的复合赋值运算符

转载 作者:行者123 更新时间:2023-11-30 01:52:51 26 4
gpt4 key购买 nike

要计算 2.0 的平方,执行此代码

double a = 2.0;
a *= a;

有明确定义的行为?并且,等同于所有其他复合赋值操作和内置类型。

最佳答案

这是合法的,因为(C++11,§1.9/15):“值计算运算符的操作数在值之前排序运算符结果的计算”或(C++03,§5/4):"在上一个和下一个序列之间点一个标量对象应最多修改一次其存储值表达式的评估。此外,先验值应只能访问以确定要存储的值。”(在a *= a,访问左边的a只是为了判断要存储的值。以及对 a 的评估左侧是“值计算”,没有副作用。)

关于c++ - C++ 中带有 self 的复合赋值运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23911913/

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