关于min(a(),b())引发的问题
  • 板块学术版
  • 楼主schirst
  • 当前回复11
  • 已保存回复12
  • 发布时间2024/4/9 16:29
  • 上次更新2024/4/9 19:38:35
查看原帖
关于min(a(),b())引发的问题
746613
schirst楼主2024/4/9 16:29

rt

#include <iostream>
using namespace std;
int a() {return puts("A"),1;}
int b() {return puts("B"),2;}
int main() {
	cout << min(a(), b()) << " ";
	return 0;
}

输出
B
A
1

由输出可知,此代码会优先运行b()再运行a()

经尝试,似乎如min,max等函数的参数中若有其他函数时,将会从后往前先运行完那些函数,再运行自己。

这些行为背后的原理是什么?还是说这是c++的特性?还请大佬指教。

2024/4/9 16:29
加载中...