2

众所周知,函数参数的求值顺序在 C++ 中是未定义的。但是在 C# 中,函数参数是从左到右计算的。那么问题来了:C++/CLI 中函数参数的求值顺序是什么?C++/CLI 在函数参数或 C# 方面的行为方式是否与 C++ 相同?我看到了 ECMA #372 但我没有找到关于这个问题的任何文字。有人可以给我一个规范性文件的参考,其中写着 C++/CLI 中函数参数的评估顺序是什么?

4

1 回答 1

1

C++/CLI 规范没有提到它(如所说),据我所知,保证的评估顺序是C#语言规范中指定的,而不是特定于.NET.

由于 C++/CLI 编译为IL(就像 VB.NET 一样),我会说 C++/CLI 无法从C#(语言)保证任何事情这一事实中推断出来。

因此,它似乎与普通 C++ 一样未指定。.NET 的任何规则是否IL会导致特定的评估顺序,我不能说。

于 2014-06-24T20:11:51.513 回答