引例:
#include<iostream>
int main()
{
std::cout<<"我喜歡C++";//輸出一句話
std::cout<<std::endl;//換行
return 0;
}
std是什麼?
std:: 是個名稱空間標示符,C++標準庫中的函數或者對象都是在命名空間std中定義的,所以我們要使用標準函數庫中的函數或對象都要使用std來限定。
對象count是標準函數庫所提供的對象,而標準庫在名字空間中被指定爲std,所以在使用cout的時候要加上std::。這樣編譯器就會明白我們調用的cout是名字空間std中的cout。
爲什麼將cout放到名字空間std中?
是因爲像cout這樣的對象在實際操作中或許會有好幾個,比如說你自己也可能會不小心定義了一個對象叫cout,那麼這兩個cout對象就會產生衝突。
std都是什麼時候使用?
一般來說,std都是要調用C++標準庫時,要寫上std;
使用非標準庫文件iostream.h,不用寫。
- 1.比如上面引例這樣改寫就不需要std:
#include<iostream.h>
int main()
{
cout<<"我喜歡C++";//輸出一句話
cout<<endl;//換行
return 0;
}
- 2.在main函數的上面使用了兩行語句:
using std::cout;
using std::endl;
那麼cout和endl前面就不需要std::
比如這樣改寫引例:
#include<iostream>
using std::cout;
using std::endl;
int main()
{
cout<<"我喜歡C++";//輸出一句話
cout<<endl;//換行
return 0;
}
- 3. 更簡便的方法,直接使用using namespace std來代替using std::cout和using std::endl。
using namespace std 告訴編輯器我們將要使用空間std中的函數或者對象。
所以cout和endl前面不用註明它們是std這個名字空間中的cout和endl。
#include<iostream>
using namespace std;
int main()
{
cout<<"我喜歡C++";//輸出一句話
cout<<endl;//換行
return 0;
}