动态强制转换的运行时检查
Runtime checks of dynamic cast
dynamic_cast <new type> (exp)
我在文档中读到, 如果新类型是指向派生的指针/引用,而表达式是指向基的指针/引用,则只有运行时检查由动态强制转换完成。 这些支票到底是怎么回事??
编辑 :做旁播涉及哪些运行时检查。
侧面投射 (5b( 是指exp
不是基本类型的new_type
。示例:如果exp
是一个指向B
的指针,该指针指向类T
的对象,其中T
派生自B
和D
,则
dynamic_cast<D*> (exp)
是一个侧强制转换,它生成指向T
的D
底的指针。
相关文章:
- 在运行时检查继承是否只有一种类型和 void*
- 运行时检查失败 #2 变量"A"周围的堆栈已损坏
- 运行时检查失败 #0 用于运行时重新编译
- 运行时检查失败 #2 - 变量"e"周围的堆栈已损坏。发生
- 运行时检查失败 #2 MSVC 仅使用 utf8proc 进行调试
- std::copy 导致运行时检查失败 #2
- 运行时检查失败 #2 - 变量周围的堆栈'...'已损坏
- 积分转换的运行时检查
- 运行时检查失败 #2 - 变量"l1"周围的堆栈已损坏
- C++:此代码可以编译,但引发运行时检查失败 #2 - 围绕变量周围的堆栈'num'已损坏。发生
- 运行时检查失败 - 变量周围的堆栈已损坏
- swscanf_s - 运行时检查错误
- 动态强制转换的运行时检查
- 运行时检查实例 (Base*) 是否覆盖父函数 (Base::f())
- 如何在 Linux 运行时检查堆栈使用情况?
- 调试:运行时检查失败 #2 - 变量"LoggerThread"周围的堆栈已损坏
- 运行时检查失败 #2 - 变量周围的堆栈'k'已损坏
- 运行时检查失败 #2 - 变量"数字选择"周围的堆栈已损坏
- 可以在编译时或运行时检查STD ::对齐的限制
- 如何避免对编译后无法访问的正在运行的代码部分进行运行时检查?