首页 > 后端开发 > C++ > 运算符优先级和结合性如何确定编程中的运算顺序?

运算符优先级和结合性如何确定编程中的运算顺序?

Susan Sarandon
发布: 2024-11-03 07:47:29
原创
573 人浏览过

How Do Operator Precedence and Associativity Determine the Order of Operations in Programming?

编程中的优先级和关联性

在编程中,运算顺序对于正确计算表达式至关重要。运算符优先级和结合性在确定此顺序中起着至关重要的作用。

谁定义了运算符优先级和结合性?

特定编程语言的标准定义了运算符优先级和结合性。对于 C 和 C ,这些定义可以在各自的语言语法中找到。

运算符优先级是如何定义的?

运算符优先级根据运算符建立运算符分组优先事项。优先级较高的运算符先于优先级较低的运算符进行计算。此层次结构是在语言语法中定义的。

关联性是如何定义的?

关联性确定同一运算符的相邻使用如何分组。例如,如果运算符是从左到右关联的,则该运算符的相邻使用将从左到右关联。此规则也源自语言语法。

与求值顺序的关系

运算符优先级和结合性不直接控制函数调用的求值顺序。该标准仅要求运算符的操作数在运算符本身之前进行计算。

从左到右的函数结合性

函数始终从左开始计算的信念向右并不完全准确。虽然某些运算符(例如函数调用运算符)确实具有从左到右的关联性,但这并不决定函数调用的计算顺序。

关联性的影响

考虑示例 f1() f2() * f3()。 * 运算符的优先级高于运算符,因此表达式分组为 f1() (f2() * f3())。但是,求值函数调用的顺序不是由关联性指定的。

其他序列注意事项

特定运算符可以对操作数求值施加排序限制。例如,在 x || 中y、x 总是在 y 之前计算。这允许短路行为。

历史上下文

序列点以前在 C 和 C 中用于定义评估顺序。然而,现代标准采用了“先序”关系的概念来描述这种行为。

以上是运算符优先级和结合性如何确定编程中的运算顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板