作爲一個C++的最佳實踐(Best Practice),我們可以說盡量避免在頭文件中使用C++的using namespace XXX;
爲什麼呢?因爲頭文件經常被包含在其他的頭文件和cpp文件中。C++的編譯器直接就把頭文件字符串拷貝過來,這樣就強制讓另外的頭文件和cpp也using namespace XXX; 這有時候可能會造成麻煩。
比如說:
在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中可以放心地使用它。