对RTTI raw_name()的好奇

curiosity about RTTI raw_name()

本文关键字:好奇 name RTTI raw      更新时间:2023-10-16

查看C++RTTI和type_info类,有时我会发现一个名为raw_name()的方法的描述,该方法用于返回类的解映射名称。我在g++中找不到任何实现,只能找到方法name()。你知道这是否是一个只针对VisualStudio/MS的实现,以及它是否是C++标准的一部分吗?

它是特定于实现的type_info在标准中定义于:

C++03标准:18.7.1类类型信息:

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不是标准定义的类成员。

快速的谷歌将向您显示raw_name()仅由Microsoft提供文档。它不是C++的一部分。