首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子表达式求值顺序

子表达式求值顺序
EN

Stack Overflow用户
提问于 2009-11-17 07:16:50
回答 2查看 245关注 0票数 0

我已经研究了J.1未指定行为下的SO/IEC 9899:201x

代码语言:javascript
复制
"The order in which subexpressions are evaluated and the order in which side effects
take place, except as specified for the function-call (), &&, ||, ?:, and comma
operators (6.5)."

这是否意味着在

代码语言:javascript
复制
func1() + func2();

func2()可以在func1()之前执行,甚至可以在func1()期间执行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-17 07:20:14

在当前的标准(ISO/IEC9899:1999)中,函数调用之间有一个序列点,但没有指定操作数对+求值的顺序,因此可以在func2之前或之后调用func1,但函数调用不得重叠或以任何方式交错。

这意味着,如果需要,func1func2中的每一个都可以与某些共享数据交互,而不会以意外的方式更改其下的数据。

票数 4
EN

Stack Overflow用户

发布于 2009-11-17 07:19:04

不是在其间,但可以肯定的是,要么是1,然后是2,要么是2,然后是1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1745497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档