我想知道是否有人可以解释为什么std::numeric_limit<T>::min
和max
是函数而不是常量的原因?
此外,我想知道可以使用哪些技术将min / max值用作模板参数的一部分,例如:
template<unsigned long long max>
class foo
{
public:
void boo() { std::cout << max << std::endl; }
};
.
.
.
foo<std::numeric_limits<int>::max()> f;
f.boo();
答案 0 :(得分:5)
回到好老C!
foo< INT_MAX > f;
甚至
const int my_int_max = INTMAX;
foo< my_int_max > f;
适用于我的g ++(Debian 4.4.5-8)4.4.5