我有一个典型的类型删除设置:structTEBase{virtual~TEBase(){}//...};templatestructTEImpl:TEBase{//...};现在的问题是:给定这样的二级层次结构,structFoo{};structBar:Foo{};structUnrelated{};是否可能,给定一个TEBase*p,判断是否为*p的动态类型形式为TEImpl,其中,X源自Foo?换句话说,我想要函数:templateboolis_derived_from(TEBase*p);这样:is_derived_from(newTEImpl)==trueis_derived