众所周知,函数参数的求值顺序在 C++ 中是未定义的。但是在 C# 中,函数参数是从左到右计算的。那么问题来了:C++/CLI 中函数参数的求值顺序是什么?C++/CLI 在函数参数或 C# 方面的行为方式是否与 C++ 相同?我看到了 ECMA #372 但我没有找到关于这个问题的任何文字。有人可以给我一个规范性文件的参考,其中写着 C++/CLI 中函数参数的评估顺序是什么?
问问题
312 次
C++/CLI 规范没有提到它(如你所说),据我所知,保证的评估顺序是在C#语言规范中指定的,而不是特定于.NET
.
由于 C++/CLI 编译为IL(就像 VB.NET 一样),我会说 C++/CLI 无法从C#(语言)保证任何事情这一事实中推断出来。
因此,它似乎与普通 C++ 一样未指定。.NET 的任何规则是否IL
会导致特定的评估顺序,我不能说。