Я бы предположил, что это описано в стандарте C ++, но я не смог его найти. Я пишу несколько шаблонов, которые собираются выполнять арифметику с их нетиповыми интегральными параметрами, и я нахожу, что мне нужен эквивалент MAX_INT
для параметра 'x' в шаблоне, подобном template <int x> Foo
.
В идеале кто-то может указать мне на абзац в стандарте (если таковой существует), который дает допустимые диапазоны для размеров интегральных параметров шаблона и любой способ определения фактического количества битов в конкретной реализации.
-
Чтобы уточнить: это шаблоны, которые будут выполнять математику в системе типов, как часть библиотеки метапрограммирования. 'Int' никогда не будет создан и никогда не займет хранилище во время выполнения. Во многих отношениях он аналогичен математике, выполняемой препроцессором, и в этом случае я знаю, что целочисленные типы не обязательно имеют тот же размер, что и int. То, что я ищу, является частью стандарта, которая говорит, являются ли типы одинаковыми или нет, и если нет, сколько битов используются интегральными параметрами шаблона во время компиляции.