- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
[intro.execution]/15 在 N4140 的第 11 页包含这些语句(强调是我的):
When calling a function (whether or not the function is inline), every value computation and side effect associated with any argument expression, or with the postfix expression designating the called function, is sequenced before execution of every expression or statement in the body of the called function. [ Note: Value computations and side effects associated with different argument expressions are unsequenced. —end note ] Every evaluation in the calling function (including other function calls) that is not otherwise specifically sequenced before or after the execution of the body of the called function is indeterminately sequenced with respect to the execution of the called function.9
9) In other words, function executions do not interleave with each other.
我想知道在被调用函数的主体执行之前没有明确排序的调用函数中的这些评估是什么?
* 编辑 * 我在问题 "sequence before" and "Every evaluation in the calling function" in C++ 中要求两个答案与我的问题无关。请阅读我的问题和其中给出的答案。另请参阅我对@CoryKramer 在下面给出的答案的评论。
* Edit 2 * 这可能是我问题的答案。请参阅 DR 1949 中的第 3 号决议提案:
在调用函数(包括其他函数调用)中的每一个没有特别说明的求值在被调用函数的主体执行之前或之后排序不确定地排序为关于被调用函数的执行
对于每个函数调用 F,对于在 F 内发生的每个评估 A 和每个不在 F 内发生但在同一线程上评估并作为同一信号的一部分的评估 B处理程序(如果有),要么 A 在 B 之前排序,要么 B 在 A 之前排序。9 [注意:如果 A 和 B 不会以其他方式排序,那么它们将不确定排序。 ——尾注]
最佳答案
如果你有两个函数返回 int
int Foo();
int Bar();
然后你有一些调用函数
void SomeFunction(int x, int y);
然后调用代码看起来像
SomeFunction(Foo(), Bar());
他们说 Foo
和 Bar
的执行顺序是不确定的。
关于c++ - 调用函数中没有在被调用函数主体之前特别排序的这些评估是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34860809/
我已经可以在其中输入一些附加文本了mydomain/wiki/Special:UserLogin。我添加了一句话: In order to apply for an account send an m
有人可以解释以下脚本输出背后的逻辑吗? import numpy if(numpy.dtype(numpy.float64) == None): print "Surprise!!!!" 谢谢
是我还是 gmail bulls**t?在 outlook/浏览器上,我的电子邮件是完美的,但在 gmail 上,2 个表之间有一个空间,为什么?!?图片:http://i.imgur.com/srJ
我是一名优秀的程序员,十分优秀!