Re[12]: имя переменной в компайл-тайм
От: rg45 СССР  
Дата: 18.03.18 12:26
Оценка:
Здравствуйте, ollv, Вы писали:

O> Из данного примера выходит, что размер __PRETTY_FUNCTION__ компайл тайм сущность.


Если пример с sizeof не достаточно убедителен, можно получить даже отдельные символы из __PRETTYY_FUNCTION__ в компайл тайм:

https://ideone.com/mPh41g

template <typename T, size_t I>
constexpr char get_pretty_function_at()
{
  return __PRETTY_FUNCTION__[I];
}

static_assert('i' == get_pretty_function_at<int, 42>(), "invalid symbol");
static_assert('e' == get_pretty_function_at<double, 55>(), "invalid symbol");
static_assert('b' == get_pretty_function_at<std::string, 64>(), "invalid symbol");
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 18.03.2018 12:30 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.