標頭檔案的包含以及名稱空間的引入儘量寫在cpp檔案中
菜鳥程式設計需要知道的規範。
1,標頭檔案儘量包含在cpp檔案裡,而不是h檔案裡
- 放在.cpp檔案中是比較安全的,檔案在多次遞迴包含後很容易出現一些定義和宣告上的問題。
- 放在cpp中可以減小標頭檔案依賴,可以提高編譯速度。所以,能放在cpp中的,就不要放在h中。
- 只有標頭檔案必須用到的放到標頭檔案,標頭檔案中可以使用前置宣告來代替。或者所有cpp都用到的也可以放到標頭檔案。
- 哪裡用到就放哪裡,誰用誰包含。
- 一般是預設放在cpp裡,之後如果出現.h也用了,再把cpp中的刪了。
比如說:
在A.h中
using namespace std;
在B.h中,
我們自己定義了一個類vector,
class vector
本想這個類是純粹我們自己定義的,不是std的那個。
可是在B.cpp中,
我們
#include "B.h"
#include "A.h"
vector a;
在編譯到此的時候,編譯器就會報錯,不知道這個vector到底是std的那個,還是我們自己定義的那個。
所以我們最好不要在標頭檔案中使用using namespace XXX;我們可以在標頭檔案中直接使用全名稱。在cpp中可以放心地使用它。