gpt4 book ai didi

c++ - 括号可以覆盖表达式的求值顺序吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:14:33 27 4
gpt4 key购买 nike

<分区>

分组运算符和操作数以及求值的顺序是C++中表达式的两个重要概念。

分组

对于具有多个运算符的表达式,操作数如何与特定运算符分组由优先级结合性决定 运算符,并且可能取决于求值顺序

订单

在 C++ 中,只有 4 个运算符具有指定的求值顺序(逻辑与、逻辑或、条件运算符和逗号运算符)。对于其他运算符,评估顺序未指定。

括号

括号可以覆盖优先级和结合性,因此指定复合表达式的分组。

然而,book Peter Gottschling 声称括号可以改变评估的顺序。我个人对此表示怀疑;我认为这是一个错误!在下面引用的示例中,括号没有说明 xyz 中的哪个表达式先求值,哪个在后求值哪一个是最后一个。它仅将表达式 y + z 分组为 * 运算符的左操作数。

An expression surrounded by parentheses is an expression as well, e.g., (x + y). As this grouping by parentheses precedes all operators, we can change the order of evaluation to suit our needs: x * (y + z) computes the addition first. Discovering Modern C++, Chapter 1.4.1

问题

括号可以覆盖表达式的求值顺序吗?

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