Где ограничения для типов Qt?

Регулярно я мог обращаться к limit.h, чтобы увидеть максимальное значение для определенного типа, например, int или long.

В Qt есть такие типы, как qlonglong. Есть ли заголовочный файл и/или документация, которые можно использовать аналогичным образом для ручного или программного указания ограничений этих типов?


person Cory Klein    schedule 25.01.2011    source источник
comment
Есть шанс, что типы Qt сводятся к одному из базовых типов — пробовали ли вы вызывать, например, std::numeric_limits‹qlonglong›::max()?   -  person fbrereto    schedule 25.01.2011
comment
@fbrereto: скажи это как ответ, так как это, скорее всего, так.   -  person Tomek    schedule 25.01.2011
comment
Даже если они не являются определениями типов для стандартных типов, возможно и действительно предполагается специализация std::numeric_limits<T> для числовых типов.   -  person MSalters    schedule 25.01.2011


Ответы (2)


Существует высокая вероятность того, что типы Qt сводятся к одному из базовых типов, для которых определены numeric_limits. Вы пробовали звонить, например, std::numeric_limits<qlonglong>::max()?

Как указывает MSalters, если типы не являются встроенными, numeric_limits все еще могут быть специализированы для них. Если бы это было так, можно было бы надеяться, что Qt включит их.

person fbrereto    schedule 25.01.2011
comment
#include <limits> Это позволит получить доступ к std::numeric_limits<qint64>::max() и другим. - person pixelgrease; 24.09.2020

Ознакомьтесь с документацией QtGlobal.

Для некоторых из неочевидных:
qlonglong — 64-разрядная
qptrdiff — 32-разрядная или 64-разрядная в зависимости от платформы
< strong>qreal – double (с плавающей запятой в архитектуре ARM)
quintptr – 32-разрядная или 64-разрядная без знака в зависимости от платформы
qulonglong – unsigned 64-bit
uchar, uint, ulong, ushort — удобное сокращение для беззнаковых типов

person richardwb    schedule 25.01.2011
comment
Некоторые из них устарели, так как заголовок ‹cstdint› стал частью стандарта? Или, если они не устарели, они просто указаны как обратно совместимые псевдонимы? Документ на странице QtGlobal кажется мне очень расплывчатым. - person Johan Boulé; 20.04.2017