Есть ли способ иметь 64-битное перечисление в С++? Во время рефакторинга некоторого кода я наткнулся на кучу #define, которые были бы лучше в качестве перечисления, но из-за того, что они больше 32 бит, компилятор выдает ошибку.
Я почему-то думал, что следующее может сработать:
enum MY_ENUM : unsigned __int64
{
LARGE_VALUE = 0x1000000000000000,
};
unsigned __int64
uint64_t
? Я думаю, чтоuint64_t
определено почти для каждой соответствующей платформы, ноunsigned __int64
звучит как определение платформы (аппаратного обеспечения, компилятора или даже библиотеки). - person Johan   schedule 07.04.2017__int64
— это псевдоним Microsoft-C++ дляlong long
. - person ManuelAtWork   schedule 17.03.2021