在頭文件裏避免使用using namespace XXX;

作爲一個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中可以放心地使用它。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章