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