Macro que representa el valor máximo para uint64 t


Estoy buscando una macro que represente el valor máximo de uint64_t como UINT_MAX es para unsigned int. es decir, necesito que este valor garantizado sea (1

Traté de usar UINT64_MAX, pero compilar con g++ resulta en:

'UINT64_MAX' was not declared in this scope

Vale la pena mencionar que tengo esta línea #define __STDC_LIMIT_MACROS en el código antes de usar UINT64_MAX.

, me sorprendió no encontrar información útil en la web al respecto.

 22
Author: pmr, 2013-04-30

1 answers

Usar el encabezado cstdint portablemente puede ser todo un desafío (falta en algunas implementaciones de MSVC). Al mismo tiempo, numeric_limits::max() puede ser difícil de usar sin constexpr y en realidad no es necesario trabajar con uint64_t. Si no te importan demasiado esas cosas, std::numeric_limits<uint64_t>::max() probablemente hará el truco.

Boost.Integer tiene una implementación de cstdint y viene con una clase extra traits para obtener un valor máximo constante. Una implementación conforme de cstdint también debe proporcionar la macro UINT64_MAX, pero no estoy seguro de boost.

 16
Author: pmr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-30 12:03:36