众所周知,C ++中未定义函数参数的评估顺序。但是在C#函数中,参数从左到右进行计算。 所以问题出现了:C ++ / CLI中函数参数的评估顺序是什么? C ++ / CLI相对于函数参数或C#的行为方式与C ++相同吗? 我看到ECMA#372,但我没有在这个问题上找到任何文字。有人可以给我一个规范性文档的参考,其中写了C ++ / CLI中函数参数的评估顺序是什么?
答案 0 :(得分:1)
C++/CLI spec做不提及它(如你所说),据我所知,保证评估顺序为is specified in the C# language spec,而不是特定于.NET
的内容。
由于C ++ / CLI编译为IL(就像例如VB.NET),我会说C ++ / CLI的任何内容都不能从 C#这个语言中推断出来。保证任何事情。
因此,它似乎与普通C ++一样未指定。是否有任何.NET IL
规则导致某些评估顺序,我不能说。