В С++ возможно ли генерировать целое число из строкового литерала с использованием только средств компиляции?
Например, если все, что у нас есть, есть буквальный "6", есть ли способ использовать его в качестве аргумента шаблона, например std::array<GET_INTEGER("6")> a;
?
Я знаю о методах, основанных на constexpr
, таких как:
template <int N> constexpr char get_char(const char s[N], int n) {
return s[n];
}
Однако constexpr
еще не готов в большинстве компиляторов, поэтому я ищу решения, используя, вероятно, макросы и TMP.
Это просто для экспериментов, поэтому безумные идеи приветствуются.