最近碰到了QT_BEGIN_NAMESPACE这个宏,这个宏就是一个命名空间,意思是如果不用这个宏,可能我qwidget定义的一个变量a会和标准C++定义的变量a冲突对不,Qt通过这个命名空间,将所有类和函数封装在一个作用域里,防止和标准C++以及其他函数库发生冲突
QT_BEGIN_NAMESPACEclass MyAction;class MyMenu;class MyPlainTextEdit;
QT_END_NAMESPACE//在编译时就会变成这样:
namespace QT_NAMESPACE
{class MyAction;class MyMenu;class MyPlainTextEdit;
}