Tag: C++ 教程

理解 C++ 中的 dynamic_cast: 安全的向下转型与向上转型

C++ 中的 dynamic_cast 是什么? 用途 在运行时在多态类型之间安全地进行转换 通常用于将基类指针转换为派生类指针(向下转型) 使用 RTTI(运行时类型识别)进行类型检查 基本语法 Derived* d = dynamic_cast<Derived*>(basePtr); 如果 basePtr 实际指向一个 Derived 对象,则转换成功 否则,返回 nullptr 转换失败的情况 指针转换: 如果实际对象不是目标类型,则返回 nullptr 引用转换: 如果失败,会抛出 std::bad_cast 异常 …