移动QWidget派生的赋值运算符?

时间:2015-07-22 14:09:39

标签: c++ qt qt5 move-semantics

我有一个QWidget派生,让我们假设标准的QWidget示例

class MainWindow : public QMainWindow { //.. }

这个类MainWindow是否有意义填充Rule of Five,我的意思是特别是Move构造函数和移动赋值?

(因为MainWindow只应创建一次)

1 个答案:

答案 0 :(得分:2)

不。永远不应复制QObject派生类,并使用Q_DISABLE_COPY宏QObject和派生类通过将它们声明为私有来显式禁用/隐藏复制构造函数和赋值运算符。可能这已经发生了变化,最近发布的版本和c ++ 11兼容的编译器现在可能被声明为已删除。 See here

所以五条规则已经出来了。在查看Qt源代码时,我无法找到移动QObject派生类的任何支持......

最后一个好读物是Qt Objects: Identity vs Value