Здравствуйте, 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");