Скажем, у меня
constexpr const std::uint8_t major = 1;
constexpr const std::uint8_t minor = 10;
constexpr const std::uint8_t bugfix = 0;
и я хочу
constexpr const char* version_string(){ ... }
чтобы вернуть эквивалент "1.10.0"
в этом примере, как бы я это сделал?
Я предполагаю, что мне нужно обоим из них, в constexpr
:
- целое число для преобразования строк
- конкатенация строк
Проблема носит чисто академический характер, и я практически не вижу смысла использовать ее constexpr
, кроме "возможно". Я просто не вижу, как это закончится. Я готов принять решения С++ 1y, которые работают с GCC 4.9 и Clang 3.4/3.5.
Я считаю, что нашел почти то, что я ищу в некоторых японских блогах:
Я посмотрю, что я могу с ними сделать, и, возможно, отвечу на этот самозанятый интересный вопрос, когда я буду удовлетворен результатом.