假设我正在编写以下模板函数:
class A { /* ... */ };
// ... etc...
template<typename C>
void foo() {
bool C_inherits_A = /* magic */;
if (C_inherits_A) { do_something(); }
else { do_something_else(); }
}
我们记得dynamic_cast
过去,但这与这里无关,因为没有指针,我正在检查“向下”,而不是“向上”。上面的代码片段中是否有一些简单的东西可以替换/* magic */
?
PS - 这个问题肯定已经被骗了,但我就是找不到,所以我把它写了出来。