我有一个QWidget派生,让我们假设标准的QWidget示例
class MainWindow : public QMainWindow { //.. }
这个类MainWindow是否有意义填充Rule of Five,我的意思是特别是Move构造函数和移动赋值?
(因为MainWindow只应创建一次)
答案 0 :(得分:2)
不。永远不应复制QObject派生类,并使用Q_DISABLE_COPY宏QObject和派生类通过将它们声明为私有来显式禁用/隐藏复制构造函数和赋值运算符。可能这已经发生了变化,最近发布的版本和c ++ 11兼容的编译器现在可能被声明为已删除。 See here
所以五条规则已经出来了。在查看Qt源代码时,我无法找到移动QObject派生类的任何支持......
最后一个好读物是Qt Objects: Identity vs Value