gpt4 book ai didi

c++ - 在 :the order of arguments of different functions 之前排序

转载 作者:行者123 更新时间:2023-11-30 03:52:36 29 4
gpt4 key购买 nike

#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;
}

我知道 a 在 f 之前排序,b 在 g 之前排序。 f 和 g 未排序。

有多少个结果?

1.a f b g

2.b g a f

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

  1. a b f g

  2. a b g f

  3. b a f g

  4. b a g f

可能还是不可能?

最佳答案

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

关于c++ - 在 :the order of arguments of different functions 之前排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30564054/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com