В стандартной библиотеке С++ значение std::numeric_limits<T>::max()
указывается как функция. Дальнейшие свойства конкретного типа задаются как константы (например, std::numeric_limits<T>::is_signed
). Все константы типа T
заданы как функции, тогда как все остальные константы задаются как, ну, постоянные значения.
В чем смысл этого?