查看C ++ RTTI和type_info类有时我会找到一个名为raw_name()
的方法的描述,该方法用于返回类的demangled名称。我在g ++中找不到任何实现,但只找到方法name()
。您是否知道这是否仅适用于Visual Studio / MS以及是否属于C ++标准?
答案 0 :(得分:3)
快速Google会告诉您raw_name()
仅由Microsoft记录。它不是C ++的一部分。
答案 1 :(得分:3)
具体实施,type_info
在标准中定义:
C ++ 03标准:18.7.1 Class type_info:
namespace std {
class type_info {
public:
virtual ~type_info();
bool operator==(const type_info& rhs) const noexcept;
bool operator!=(const type_info& rhs) const noexcept;
bool before(const type_info& rhs) const noexcept;
size_t hash_code() const noexcept;
const char* name() const noexcept;
type_info(const type_info& rhs) = delete; // cannot be copied
type_info& operator=(const type_info& rhs) = delete; // cannot be copied
};
}
如您所见raw_data
不标准定义的类成员。