gpt4 book ai didi

c++ - std::min/std::max 为 "intrinsic-like"

转载 作者:搜寻专家 更新时间:2023-10-31 01:35:31 25 4
gpt4 key购买 nike

我正在重写一个库,其中一个“接口(interface)”是一个全局数字变量(不要问)。

我将其替换为 UDT 的全局对象,该对象的作用类似于数字,支持 operator int() const

我图书馆的一些内部消费者使用 std::max 和那个全局变量。他们会得到编译错误,因为 std::max 只需要一个 T。

例如:

PseudoInt x;  // in library

// in consumer
void conumser()
{
int y = std::max(5, x); // will error now, because int and PseudoInt are not the same T
}

我最希望我的消费者不必使用react,就像 std::max<int>(5, x) .

我在这里不走运吗?

最佳答案

由于 std::max 是一个模板,您可以使用 PseudoInt 和 Int 为 std::max 提供特化。

关于c++ - std::min/std::max 为 "intrinsic-like",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37211286/

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