Я сделал следующее:
long long int x = 0;
int digits_of_x = std::numeric_limits<long long int>::digits;
И все работает отлично.Однако это может легко привести к ошибке, если кто-то изменит тип x
.Поэтому я бы предпочел сделать это так:
long long int x = 0;
int digits_of_x = std::numeric_limits<typeof(x)>::digits;
Я нашел расширение GCC typeof()
, но я хочу использовать некоторую стандартную функцию (до C ++ 17).Есть ли такая функция?