gpt4 book ai didi

c++ - std::min/std::max 只保证一次评估

转载 作者:太空狗 更新时间:2023-10-29 19:47:07 24 4
gpt4 key购买 nike

C++标准是否保证调用

c = std::min(f(x), g(x));

只计算函数 f 和 g 一次?

最佳答案

是的。由于 std::min 是一个函数,因此 f(x) 和 g(x) 将只计算一次。并且不会复制返回值。查看函数原型(prototype):

template<typename T>     
const T& min ( const T& a, const T& b );

这与预处理器真正定义的 min 宏有明显区别:

#define MIN(A,B) ((A)<(B))?(A):(B)

关于c++ - std::min/std::max 只保证一次评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3665574/

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