我正在清理一个 C++ 头文件,并注意到如下内容:
#if !defined(HEADER_H_)
#define HEADER_H_
#include <vector>
#include <string>
using namespace std;
#include<stdio.h>
#include "Blar/ObjA/Model.h"
namespace blar{
class Blar;
}
#include <Blar/Blar.h>
#include <Blar/ObjB/OtherModel.h>
using namespace blar;
#include <Utilities/OtherThing.h>
#include <qstringlist.h>
这只是不好的做法,还是每个#include/using/namespace
相关声明的某些后果实际上取决于顺序?由于两者之间没有代码,我不这么认为,但我不熟悉太多的微妙之处......