从类型名获取type_info

Get type_info from typename

本文关键字:info type 获取 类型      更新时间:2023-10-16

有没有办法从类型名称中获取std::type_info? 例如

std::type_info f(std::string name) {
std::type_info info; 
...
return info;
}
int main() {
const std::string name = typeid(double).name();
std::type_info info = f(name);
assert(info==typeid(double));
}

f的功能是什么?

No.正如std::type_info::name的文档所说:

不给出任何保证;特别是,返回的字符串可以是对于几种类型相同,并且在相同的调用之间更改程序。

我不知道您的确切用例,但您可以使用 C++11 std::type_index