Russian Qt Forum

Программирование => С/C++ => Тема начата: JamS007 от Декабрь 22, 2010, 23:15



Название: Функция, определяющая максимально возможное значение типа
Отправлено: JamS007 от Декабрь 22, 2010, 23:15
Добрый день, уважаемые.

Наткнулся на такой вопрос: есть ли в С++, а лучше в Qt функция, которая способна вернуть максимально возможное значение переданного числового типа? К примеру для char = 127; unsigned char = 256; int = 32767 и т. д.

Буду очень благодарен за любую помощь.


Название: Re: Функция, определяющая максимально возможное значение типа
Отправлено: Fat-Zer от Декабрь 22, 2010, 23:19
В С++ есть класс numeric_limits
Код
C
#include <limits>
std::numeric_limits<T>.min();
 

Ну и так далее...


Название: Re: Функция, определяющая максимально возможное значение типа
Отправлено: JamS007 от Декабрь 22, 2010, 23:26
а это кроссплатформенный метод?

Хочется верить, что если метод из стандартной библиотеки - значит кроcсплатформенный.

Up.
Что-то в gcc нет такого класса, или это я его найти не могу? Модуль limits есть, а вот класса numeric_limits - нет. По крайней мере так подсказывает автодополнение криэйтера.


Название: Re: Функция, определяющая максимально возможное значение типа
Отправлено: Fat-Zer от Декабрь 22, 2010, 23:52
класс точно есть в любом C++, автодополнение может хромать, ибо криэйтор с шаблонами не всегда дружит...

Да, очепятался, методы статические все, так что:
std::numeric_limits<T>::min()


Название: Re: Функция, определяющая максимально возможное значение типа
Отправлено: brankovic от Декабрь 23, 2010, 00:34
кроме numeric_limits (который точно работает) ещё есть <climits>, в чём-то лучше. Там определены макросы вида [type]_[limit], например CHAR_MIN, INT_MAX и т.д. Оба заголовка в стандарте c++.