2011-01-25 21 views
13

Regularmente, podría hacer referencia a limits.h para ver cuál es el máximo para cierto tipo, como int o long.¿Dónde están los límites para los tipos de Qt?

En Qt, hay tipos como qlonglong. ¿Existe un archivo de cabecera y/o documentación que se pueda utilizar de forma similar a la referencia manual o programática de los límites de estos tipos?

+3

Existe la posibilidad de que los tipos de Qt se destinen a uno de los tipos básicos: ¿ha intentado llamar, por ejemplo, std :: numeric_limits :: max()? – fbrereto

+0

@fbrereto: ponlo como una respuesta, ya que es muy probable que así sea. – Tomek

+2

Incluso cuando no son typedefs para tipos estándar, es posible y de hecho destinado a especializar 'std :: numeric_limits ' para tipos numéricos. – MSalters

Respuesta

14

Hay una alta probabilidad de los tipos de Qt destilan hacia abajo para uno de los tipos básicos por los que se definen numeric_limits. ¿Has intentado llamar, por ejemplo, std::numeric_limits<qlonglong>::max()?

Como señala MSalters, también, si los tipos no están incorporados, numeric_limits aún pueden estar especializados para ellos. Si ese fuera el caso, uno esperaría que Qt los incluyera.

3

Eche un vistazo a la documentación QtGlobal.

Para algunos de los no obvias:
qlonglong - 64-bit
qptrdiff - de 32 bits o 64 bits dependiendo de la plataforma
qreal - doble (float en arquitecturas ARM)
quintptr - sin signo de 32 bits o 64 bits dependiendo de la plataforma
qulonglong - 64 bits sin signo
UCHAR, uint, ulong, ushort - conveniencia taquigrafía para los tipos sin signo

+0

¿Están algunos de estos obsoletos ya que el encabezado se ha convertido en parte del estándar? O si no está en desuso, ¿acaban de especificarse como alias compatibles con versiones anteriores? El documento en la página de QtGlobal me parece muy impreciso. –

Cuestiones relacionadas