c – 诺基亚是否误用了static_cast?

c – 诺基亚是否误用了static_cast?,第1张

概述我刚刚遇到 this example: 向下滚动到页面底部,您将找到该页面 QWidget *pw = static_cast<QWidget *>(parent); Parent的类型为:QObject,它是QWidget的Base类,所以在这种情况下,isnt: 应该使用dynamic_cast吗? 如: QWidget *pw = dynamic_cast<QWidget*>(parent) 我刚刚遇到 this example:

向下滚动到页面底部,您将找到该页面

QWidget *pw = static_cast<QWidget *>(parent);

Parent的类型为:QObject,它是QWidget的Base类,所以在这种情况下,isnt:
应该使用dynamic_cast吗?

如:

QWidget *pw = dynamic_cast<QWidget*>(parent)

谢谢,

解决方法 如果你知道你正在从一个基类向下一个类(即,你知道该对象实际上是一个子类的实例),那么static_cast是完全合法的(并且性能更高). 总结

以上是内存溢出为你收集整理的c – 诺基亚是否误用了static_cast?全部内容,希望文章能够帮你解决c – 诺基亚是否误用了static_cast?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存