[C++] 標頭檔案中不要用using namespace std
阿新 • • 發佈:2018-12-29
先總結下:
1. using namespce std;儘量不要(或者強硬一點,不許)在標頭檔案中使用。
解析: 不讓這麼用,主要原因就是防止名字重複(即自定義變數名和std中名字重複),因為標頭檔案會被很多地方使用,你不知道這個using能覆蓋多大範圍。
2. 標頭檔案最好不用,但在cpp檔案中可以使用(但有比這更好的方法,之後說),但是,有個條件,必須用在所有#include之後。
解析:如果在cpp檔案中使用using namespace std; 而且,若放在#include之前,那相當於用在標頭檔案中了,你不知道標頭檔案展開後,這個using覆蓋多大的範圍。所以,必須用在所有#include之後。
3. 在標頭檔案和cpp檔案中,可以使用using命令(如 using std::cout;) 來替代 using編譯命令(using namespace std;)。
舉例說明:
using namespace std; // 不要這樣做
而應這樣做
int y; std::cin >> y ; std::cout << y << std::endl;
或者這樣做
using std::cout; using std::cin; int y; cin >> y; cout<< y;
4. 當然,還有人想把using namespace std;放在自定義的名稱空間中,你可以去試試。
---------------------
作者:c+
原文:https://blog.csdn.net/qnavy123/article/details/79914339
版權宣告:本文為博主原創文章,轉載請附上博文連結!