gpt4 book ai didi

c++ - 是否可以强制模板函数只接受某种数值类型的参数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:27:19 24 4
gpt4 key购买 nike

例如

template <typename T>
T foo(){ ... }

其中T只能是浮点型,即float/double/long double

最佳答案

template <typename T>
typename std::enable_if<std::is_floating_point<T>::value, T>::type foo() { ... }

完全标准的SFINAE;我们启用返回类型。如果 T 不是浮点类型,std::is_floating_point<T>::value将是 falsestd::enable_if<false, T>不提供 type typedef,导致函数不可编译。

有关这些标准库类的信息,请参阅 http://en.cppreference.com/w/cpp/types .

关于c++ - 是否可以强制模板函数只接受某种数值类型的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14901297/

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