【发布时间】:2013-05-09 14:48:06
【问题描述】:
我在QMainWindow::setMenuBar(QMenuBar * menuBar) 的文档中偶然发现了这一点:
注意:QMainWindow 取得 menuBar 指针的所有权,并在适当的时候将其删除。
示例代码(在派生自QMainWindow 的类的方法中):
QMenuBar * menuBar = new QMenuBar(this);
setMenuBar(menuBar) // <-- immediately transfer ownership
// use menuBar pointer to add actions, menus, and what not
在调用setMenuBar 之后,我是否仍然可以依赖我的本地指针指向我的QMenuBar?我的意思是,它完全有保障吗?
当我删除我的QMainWindow 派生类时,QMenuBar 对象也被删除,因为QMainWindow 在构造它时被设置为它的父类——但是什么政策在于后来通过setMenuBar 的“所有权接管”除了引用/指针的副本?
【问题讨论】:
标签: qt