Могу ли я получить имена типов C ++ способом constexpr?
Я хотел бы использовать имя типа во время компиляции. Например, предположим, я написал:
constexpr size_t my_strlen(const char* s)
{
const char* cp = s;
while(*cp != '\0') { cp++; };
return cp - s;
}
и теперь я хочу иметь:
template <typename T>
constexpr auto type_name_length = my_strlen(typeid(T).name());
Но увы,typeid(T).name()
простоconst char*
, не constexpr ... есть какой-то другой, constexpr способ получить имя типа?