在没有“instanceof”的情况下确定 C 中的对象类型
为了确定 C 中对象的确切类型,我们采用了类似于 Java 的“技术”实例”关键字。这涉及动态转换和 RTTI(运行时类型信息)的组合。
启用 RTTI 的动态转换:
if(NewType* v = dynamic_cast<NewType*>(old)) { // old successfully casted to NewType // Perform NewType-specific operations (e.g., v->doSomething(); ) }
注意: 此方法需要编译器支持 RTTI。
动态注意事项转换:
类型枚举方法:
switch(old->getType()) { case BOX: Box* box = static_cast<Box*>(old); // Perform Box-specific operations break; // Additional cases for other types }
优点:
缺点:
以上是如何在不使用 `instanceof` 的情况下确定 C 中对象的类型?的详细内容。更多信息请关注PHP中文网其他相关文章!