Функция-член name()
структуры type_info
зависит от реализации. Нет никакой гарантии, что он попытается вернуть то, что соответствует исходной программе. Фактически, стандарт ISO C ++ (18.5.1.7) фактически говорит, что эта функция возвращает «NTBS, определяемый реализацией» (строка байтов с нулевым символом в конце). Если бы он захотел, он мог бы всегда возвращать строку «еще больше, я не скажу вам имя этого типа». Это отличается от типа Java Class<?>
, который имеет очень строгие ограничения на то, что он может и не может вернуть.