Как я могу назвать целочисленные типы на основе фактического типа в шаблоне cpp? Например, когда фактический тип int
, вызов INT_MAX
, И когда фактический тип unsigned long
, вызов ULONG_MAX
;
Конечно, я могу просто написать if-else
Скажите, но есть ли другой способ сделать это? Или как лучше написать эту часть кода?
Лучший стандартный способ — это полагаться на <limits>
заголовок. Шаблон уже существует, который делает то, что вы хотите. Это std::numeric_limits
со своей статичностью max
функция. Итак, что вы хотите, будет выглядеть так:
auto max_int = std::numeric_limits<int>::max();
Других решений пока нет …