Kann ich C ++ - Typnamen auf constexpr-Weise erhalten?
Ich möchte beim Kompilieren den Namen eines Typs verwenden. Angenommen, ich habe geschrieben:
constexpr size_t my_strlen(const char* s)
{
const char* cp = s;
while(*cp != '\0') { cp++; };
return cp - s;
}
und jetzt möchte ich haben:
template <typename T>
constexpr auto type_name_length = my_strlen(typeid(T).name());
Aber leider,typeid(T).name()
ist nurconst char*
, nicht constexpr ... gibt es eine andere constexpr-Methode, um den Namen eines Typs abzurufen?