以下內(nèi)容為:本人看C++視頻教程-范磊主講(2.91G)視頻學(xué)習(xí)筆記。
與大家分享下,希望可以幫助大家學(xué)習(xí)c++!
引例:
#include<iostream> int main() { std::cout<<'我喜歡C++';//輸出一句話 std::cout<<std::endl;//換行 return 0; }
1.std是什么?
std:: 是個(gè)名稱空間標(biāo)示符,C++標(biāo)準(zhǔn)庫中的函數(shù)或者對(duì)象都是在命名空間std中定義的,所以我們要使用標(biāo)準(zhǔn)函數(shù)庫中的函數(shù)或?qū)ο蠖家褂胹td來限定。
對(duì)象count是標(biāo)準(zhǔn)函數(shù)庫所提供的對(duì)象,而標(biāo)準(zhǔn)庫在名字空間中被指定為std,所以在使用cout的時(shí)候要加上std::。這樣編譯器就會(huì)明白我們調(diào)用的cout是名字空間std中的cout。
2.為什么將cout放到名字空間std中?
是因?yàn)橄馽out這樣的對(duì)象在實(shí)際操作中或許會(huì)有好幾個(gè),比如說你自己也可能會(huì)不小心定義了一個(gè)對(duì)象叫cout,那么這兩個(gè)cout對(duì)象就會(huì)產(chǎn)生沖突。
3.std都是什么時(shí)候使用?
一般來說,std都是要調(diào)用C++標(biāo)準(zhǔn)庫時(shí),要寫上std;
使用非標(biāo)準(zhǔn)庫文件iostream.h,不用寫。
比如上面引例這樣改寫就不需要std:
#include<iostream.h> int main() { cout<<'我喜歡C++';//輸出一句話 cout<<endl;//換行 return 0; }
當(dāng)然還有一種方法:
在main函數(shù)的上面使用了兩行語句:
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; }
其實(shí)還有種更簡(jiǎn)便的方法,就是直接使用using namespace std來代替using std::cout和using std::endl。
using namespace std 告訴編輯器我們將要使用空間std中的函數(shù)或者對(duì)象。
所以cout和endl前面不用注明它們是std這個(gè)名字空間中的cout和endl。
#include<iostream> using namespace std; int main() { cout<<'我喜歡C++';//輸出一句話 cout<<endl;//換行 return 0; }
聯(lián)系客服