Qt的宏差不多都定义在D:\Qt\Qt5.4.2\5.4\mingw491_32\include\QtCore\qglobal.h里面
1、Q_DISABLE_COPY宏
定义:
#define Q_DISABLE_COPY(Class) \
Class(const Class &) ;\
Class &operator=(const Class &) ;
使用:
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = 0);
~Dialog();
private:
Ui::Dialog *ui;
Q_DISABLE_COPY(Dialog)
};
#endif // DIALOG_H
Q_DISABLE_COPY(Dialog)相当于添加了复制构造函数和赋值运算符的声明,从而可以禁止使用复制构造函数和赋值运算符