首页 > 解决方案 > 动态类对象加载

问题描述

有没有一种方法可以使用std::is_base_of基于 生成的字符串typedid(...).name()而不是类型本身的东西?

概括地说,给定以下内容:

class A {...};
class B: public A {...};

A a;
B b;

std::string sa = typeid(a).name;
std::string sb = typeid(b).name;

在运行时我需要这样的东西:

if( std::is_base_of(sa, sb) )
{...}

这与文件中的对象序列化有关。

有没有办法执行这个(没有提升)?

标签: c++oopdynamiccomparisontypeid

解决方案


推荐阅读