关于 max 的常数
  • 板块学术版
  • 楼主XeCtera
  • 当前回复27
  • 已保存回复27
  • 发布时间2022/8/20 17:53
  • 上次更新2023/10/27 14:26:05
查看原帖
关于 max 的常数
38785
XeCtera楼主2022/8/20 17:53

手写 max 常数被 std::max 吊打了,怎么会是呢。

代码中的调用方式大致如下:

inline void vmax(int &x,int y) { x<y&&(x=y); }
...
    vmax(x,y);
using std::max;
...
    x=max(x,y);

在某 OJ 上提交发现前者被卡常了。

语言 C++11,编译命令: g++ main.cpp -o main -O2 -lm -std=c++11 -DONLINE_JUDGE

然而在本机和洛谷 IDE 做了测试,都是前者略快。(C++11,开启 O2)

有神仙能解释一下是什么原理吗

2022/8/20 17:53
加载中...