做爲一個C++的最佳實踐(Best Practice),咱們能夠說盡可能避免在頭文件中使用C++的using namespace XXX;ide
爲何呢?由於頭文件常常被包含在其餘的頭文件和cpp文件中。C++的編譯器直接就把頭文件字符串拷貝過來,這樣就強制讓另外的頭文件和cpp也using namespace XXX; 這有時候可能會形成麻煩。spa
好比說:字符串
在A.h中編譯器
using namespace std;it
在B.h中,
咱們本身定義了一個類vector,
class vector
本想這個類是純粹咱們本身定義的,不是std的那個。編譯
但是在B.cpp中,
咱們
#include "B.h"
#include "A.h"class
vector a;最佳實踐
在編譯到此的時候,編譯器就會報錯,不知道這個vector究竟是std的那個,仍是咱們本身定義的那個。di
因此咱們最好不要在頭文件中使用using namespace XXX;咱們能夠在頭文件中直接使用全名稱。在cpp中能夠放心地使用它。文件