Что C++ эквивалентен из UINT32_MAX?

Едва ли. Как другие сказал, можно получить часть того, что Вы хотите путем списка методов экземпляров классов (например, String.instance_methods), но это не помогает Вам, если файл, который Вы открываете, вновь открыл класс (если Вы не проверяете прежде и после).

, Если Вам не нужен программируемый доступ к списку методов, рассмотрите проверку документации для класса, модуля или метода с помощью ri инструмент командной строки.

33
задан kdt 24 September 2009 в 12:23
поделиться

4 ответа

Ну, я не знаю о uint32_t , но для основных типов ( bool, char, signed char, unsigned char, wchar_t, short, unsigned short , int, unsigned int, long, unsigned long, float, double и long double ) вам следует использовать шаблоны numeric_limits через #include .

cout << "Minimum value for int: " << numeric_limits<int>::min() << endl;
cout << "Maximum value for int: " << numeric_limits<int>::max() << endl;

If uint32_t является #define одного из вышеперечисленных, чем этот код должен работать из коробки

    cout << "Maximum value for uint32_t: " << numeric_limits<uint32_t>::max() << endl;
55
ответ дан 27 November 2019 в 17:36
поделиться

Ну, uint32_t всегда будет 32-битным и всегда беззнаковым, поэтому вы можете безопасно определять его вручную:

#define UINT32_MAX  (0xffffffff)

Вы также можете сделать

#define UINT32_MAX  ((uint32_t)-1)
19
ответ дан 27 November 2019 в 17:36
поделиться

Вы можете устранить проблемы с порядком #include , изменив процесс сборки, указав вместо этого символ __ STDC_LIMIT_MACROS в командной строке компилятора:

cxx -D__STDC_LIMIT_MACROS ...

Конечно, у вас все равно будут проблемы, если заголовок #undef будет содержать этот символ.

Кроме того, авторы реализации стандартной библиотеки, которую вы используете, возможно, не предполагали, что пользователи будут устанавливать этот конкретный символ; может быть флаг компилятора или другой символ, который пользователи намерены использовать для включения типов C99 в C ++.

1
ответ дан 27 November 2019 в 17:36
поделиться

std :: numeric_limits :: max () определяет максимальное значение для типа T .

23
ответ дан 27 November 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: