C ++函数参数中的求值顺序

我们将不同的参数传递给某些函数。现在我们可能会想到一个问题,那就是函数参数的评估顺序。是从左到右还是从右到左?

为了检查评估顺序,我们将使用一个简单的程序。这里传递了一些参数。从输出中,我们可以找到如何评估它们。

示例

#include<iostream>
using namespace std;
void test_function(int x, int y, int z) {
   cout << "The value of x: " << x << endl;
   cout << "The value of y: " << y << endl;
   cout << "The value of z: " << z << endl;
}
main() {
   int a = 10;
   test_function(a++, a++, a++);
}

输出结果

The value of x: 12
The value of y: 11
The value of z: 10

从此输出,我们可以轻松了解评估顺序。首先,取z,因此保持为10,然后取y,因此取为11,最后,取x。因此该值为12。