2

重複の可能性:
std :: neuro_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 に答える