2

可能重复:
为什么 std::numeric_limits<T>::max() 是一个函数?

我想知道是否有人可以解释为什么是函数而不是常量的std::numeric_limit<T>::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();
4

1 回答 1

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 上为我工作

于 2011-05-16T01:00:51.767 回答