在C语言中,通常使用#define来定义常数,其后在使用该常数的地方利用定义的宏名来进行常数替换,这样可以避免在程序中到处出现magic numbers的乱象,并且#define是宏定义,不需要为其分配存储空间。但是#define是在预处理器的控制范畴内,只能简单地进行文本
Qt 不是使用标准的C++语言编写,而是对其进行了一定程度的扩展。我们可以从Qt增加的关键字看出来:signals、slots或emit。但是使用gcc编译时,编译器并不认识这些非标准c++的关键字,那么就需要Qt自己将扩展的关键字处理成标准的C++代码。Qt在编译之前会分析