以下內容為:本人看C++視頻教程-范磊主講(2.91G)視頻學習筆記。
與大家分享下,希望可以幫助大家學習c++!
引例:
#include<iostream> int main() { std::cout<<"我喜歡C++";//輸出一句話 std::cout<<std::endl;//換行 return 0; }
1.std是什么?
std:: 是個名稱空間標示符,C++標准庫中的函數或者對象都是在命名空間std中定義的,所以我們要使用標准函數庫中的函數或對象都要使用std來限定。
對象count是標准函數庫所提供的對象,而標准庫在名字空間中被指定為std,所以在使用cout的時候要加上std::。這樣編譯器就會明白我們調用的cout是名字空間std中的cout。
2.為什么將cout放到名字空間std中?
是因為像cout這樣的對象在實際操作中或許會有好幾個,比如說你自己也可能會不小心定義了一個對象叫cout,那么這兩個cout對象就會產生沖突。
3.std都是什么時候使用?
一般來說,std都是要調用C++標准庫時,要寫上std;
使用非標准庫文件iostream.h,不用寫。
比如上面引例這樣改寫就不需要std:
#include<iostream.h> int main() { cout<<"我喜歡C++";//輸出一句話 cout<<endl;//換行 return 0; }
當然還有一種方法:
在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; }
其實還有種更簡便的方法,就是直接使用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; }