- Q_GADGET 这个宏是Q_OBJECT宏的弱化版本吧,不过它可以继续 使用属性机制、反射等特性,但是不能使用信号与槽
- QT_INCLUDE_COMPAT 兼容版本
- QT_BEGIN_NAMESPACE 防止命名污染
- Q_GUI_EXPORT 为了实现跨平台以及插件
- Q_FLAG(RenderHint),Q_DECLARE_FLAGS(RenderHints, RenderHint)
Q_FLAG(RenderHints)
就是你可以更方便的使用标志组,比如逻辑或把Set(Qt::A|QT::B)类似这样
- explicit是防止隐式转换的
class MyClass {
public:
explicit MyClass(int value) {
}
};
void doSomething(MyClass obj) {
}
int main() {
int i = 10;
}
- inline关键字,这个主要为了减少堆栈的访问,提升性能,最好是用于几行代码的地方,没有while for dowhile循环以及递归,最好实际测试一下吧
- const关键字 https://blog.csdn.net/xingjiarong/article/details/47282255