规范的Qt示例是:
class Counter : public QObject
{
Q_OBJECT
int m_value;
public:
int value() const { return m_value; }
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
};
Run Code Online (Sandbox Code Playgroud)
Qt定义宏:
#define slots /* nothing */
Run Code Online (Sandbox Code Playgroud)
预处理器运行后,我们将留下:
public slots:
void setValue(int value);
:
void valueChanged(int newValue);
};
Run Code Online (Sandbox Code Playgroud)
独立式结肠有什么影响?我可以在任何我想要的地方添加冒号吗?
int main() {
:
std::cout << "hi";
:
return 0;
}
Run Code Online (Sandbox Code Playgroud)
独立冒号在C++中做什么,为什么允许?
没有独立的:中不允许C和C++.
signals被定义为public,所以
signals:
void valueChanged(int newValue);
Run Code Online (Sandbox Code Playgroud)
将被预处理
public:
void valueChanged(int newValue);
Run Code Online (Sandbox Code Playgroud)
所以没有自由结肠.
现在插槽被定义为没有
public slots:
void setValue(int value);
Run Code Online (Sandbox Code Playgroud)
将被替换为(在用空格替换注释之后).
public :
void setValue(int value);
Run Code Online (Sandbox Code Playgroud)