c++ - QT官方文档中为什么使用static_cast

标签 c++ qt events dynamic-cast static-cast

https://doc.qt.io/qt-5/eventsandfilters.html

在QT的官方文档中,static_cast用于这样的代码

QKeyEvent *ke = static_cast<QKeyEvent *>(event);
...
MyCustomEvent *myEvent = static_cast<MyCustomEvent *>(event);

但是根据我的经验,应该使用dynamic_cast,因为这是从基础到派生的强制转换 使用 static_cast 有什么特殊原因吗?

最佳答案

如果您绝对确定适当的dynamic_cast会成功,那么使用static_cast是完全可以的。使用 static_castdynamic_cast 更快,因为它不涉及运行时检查。

关于c++ - QT官方文档中为什么使用static_cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60428578/

相关文章:

c++ - OpenCL 找不到平台?

Qt4 如何在小部件内部绘图?

c++ - 是什么导致了这次崩溃?

c++ - 声明一个带有构造函数参数的成员变量

c++ - 未使用指针类型推导出模板类型

c++ - 跳过 QDomDocument 中的注释

c++ - 在 Clion 中使用 Qt

javascript - 使用 jquery 或 JavaScript 在不同页面上触发事件

javascript - 如何使用 jQuery 事件监听器获取目标元素?

javascript - 动态创建的元素上的事件绑定(bind)?