std 是一個c++中的標準命名空間。如果將C,C++,Java聯繫起來,就會有一種特別的感悟。
首先把C++單純的認爲是C的擴展版本,即在C的基礎上導入的某個進階包。(相當於Java中的import)。
則可以認爲,std是一個用C寫出來的一個特殊的類,或者說接口,裏面裝着C++(認爲是C的擴展包,其實大誤)各種各樣的函數名。using namespace std;就是相當於導入std這個包。
但是由於C++的特殊機制,相當於在程序中定義了一系列的全局變量。這些全局變量直接一次性的全部都被定義出來了。但是,當你再去定義自己的函數的時候,你根本就不知道自己定義的函數名是否和std標準命名空間裏的函數名重名。
所以,並不推薦直接使用using namespace std;
那麼怎麼用呢?
或許你可以試一下僅把自己需要用到的函數名導入一下。
C++ std中常用的函數就是那麼幾個,隨用隨導就可以了。
#include<iostream>
using namespace std::cin;//使用(導入)C++中的輸入流
using namespace std::cout;//使用(導入)C++中的輸出流
using namespace std::endl;//使用(導入)輸出換行符