C++ 之前排序:不同函数的参数顺序

C++ 之前排序:不同函数的参数顺序,c++,C++,我知道a在f之前排序,b在g之前排序。f和g是不连续的 有多少结果 1.a、f、b、g 2.b g a f 示例1和2可能发生。这些怎么样 a、b、f、g a、b、g、f b a f g b a g f 可能还是不可能?唯一可以保证的是,b将在g之前计算,a将在f之前计算。这是唯一遵守的两个排序关系。因此,任何与此顺序兼容的输出都是可能的。在您的情况下,这意味着从1到6的任何输出都可能发生。f和g是不确定顺序的,因为它们是函数调用,而不是未排序的。 #include <iostream&g

我知道a在f之前排序,b在g之前排序。f和g是不连续的

有多少结果

1.a、f、b、g

2.b g a f

示例1和2可能发生。这些怎么样

a、b、f、g

a、b、g、f

b a f g

b a g f


可能还是不可能?

唯一可以保证的是,b将在g之前计算,a将在f之前计算。这是唯一遵守的两个排序关系。因此,任何与此顺序兼容的输出都是可能的。在您的情况下,这意味着从1到6的任何输出都可能发生。

f和g是不确定顺序的,因为它们是函数调用,而不是未排序的。
#include <iostream>

using namespace std;

int f(int){cout << "f ";return 0;}
int g(int){cout << "g ";return 0;}
int a(){cout << "a ";return 0;}
int b(){cout << "b ";return 0;}

int main()
{
    f(a()) + g(b());
    return 0;
}