C++中std的使用及說(shuō)明
C++中std的使用
std::是個(gè)名稱(chēng)空間標(biāo)識(shí)符,C++標(biāo)準(zhǔn)庫(kù)中的函數(shù)或者對(duì)象都是在命名空間std中定義的,所以我們要使用標(biāo)準(zhǔn)庫(kù)中的函數(shù)或者對(duì)象都要用std來(lái)限定。
至于為什么將cout放到名字空間std中,是因?yàn)橄骳out這樣的對(duì)象在實(shí)際操作中或許會(huì)有好多個(gè),比如說(shuō)你自己也可能會(huì)不小心定義一個(gè)對(duì)象叫cout,那么這兩個(gè)cout對(duì)象就會(huì)產(chǎn)生沖突。
std都是在什么時(shí)候使用?
一般來(lái)說(shuō),std都是要調(diào)用C++標(biāo)準(zhǔn)庫(kù)時(shí)使用。比如:使用標(biāo)準(zhǔn)庫(kù)文件iostream時(shí),要寫(xiě)上std;使用非標(biāo)準(zhǔn)庫(kù)文件iostream.h,不用寫(xiě)。如圖引入非標(biāo)準(zhǔn)庫(kù)iostream.h時(shí),省去了std::
當(dāng)然使用標(biāo)準(zhǔn)庫(kù)時(shí),也是可以省略的,不過(guò)需要進(jìn)行處理
分別將cout和endl釋放出來(lái)
將命名空間釋放出來(lái)
注:using namespace std 告訴編輯器我們將要使用名字空間std中的函數(shù)或者對(duì)象,所以cout和endl前面不用注明他們是std這個(gè)名字空間中的cout和endl
搞懂C++中的std::是什么
C++中的std::是什么?
std:: 是個(gè)名稱(chēng)空間標(biāo)示符,C++標(biāo)準(zhǔn)庫(kù)中的函數(shù)或者對(duì)象都是在命名空間std中定義的,所以我們要使用標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)或?qū)ο蠖家褂胹td來(lái)限定。
標(biāo)準(zhǔn)庫(kù)在名字空間中被指定為std,所以在使用標(biāo)準(zhǔn)庫(kù)中的函數(shù)或者對(duì)象的時(shí)候要加上std::,這樣編譯器就會(huì)明白我們調(diào)用的函數(shù)或者對(duì)象是名字空間std中的。
什么是C++標(biāo)準(zhǔn)庫(kù)呢?
C++標(biāo)準(zhǔn)庫(kù),C++ Standard Library,是類(lèi)庫(kù)和函數(shù)的集合,其使用核心語(yǔ)言寫(xiě)成,由c++標(biāo)準(zhǔn)委員會(huì)制定,并不斷維護(hù)更新。
C++強(qiáng)大的功能來(lái)源于其豐富的類(lèi)庫(kù)及庫(kù)函數(shù)資源。在C++開(kāi)發(fā)中,要盡可能地利用標(biāo)準(zhǔn)庫(kù)完成,這樣可以降低成本,提高編程效率,保證程序質(zhì)量,又能保持編程風(fēng)格一致性。
C++標(biāo)準(zhǔn)庫(kù)又分為標(biāo)準(zhǔn)函數(shù)庫(kù)和面向?qū)ο箢?lèi)庫(kù)。
標(biāo)準(zhǔn)函數(shù)庫(kù)包括:輸入/輸出 I/O、字符串和字符處理、數(shù)學(xué)、時(shí)間、日期和本地化、動(dòng)態(tài)分配、其他、寬字符函數(shù)。
面向?qū)ο箢?lèi)庫(kù)包括:標(biāo)準(zhǔn)的 C++ I/O 類(lèi)、String 類(lèi)、數(shù)值類(lèi)、STL 容器類(lèi)、STL 算法、STL 函數(shù)對(duì)象、STL 迭代器、STL 分配器、本地化庫(kù)、異常處理類(lèi)、雜項(xiàng)支持庫(kù)。
在什么時(shí)候要用到std::,什么時(shí)候不需要用呢?
一般來(lái)說(shuō),要調(diào)用C++標(biāo)準(zhǔn)庫(kù)時(shí),要寫(xiě)上std::。
如果使用非標(biāo)準(zhǔn)庫(kù)文件iostream.h,不用寫(xiě)。
如:#include<iostream.h>
#include<iostream.h> int main() { ? ? cout<<"hello world"; ? //而不是std::cout<<"hello world"; ? ? cout<<endl; ? //而不是std::cout<<std::endl; ? ? return 0; }
一種更簡(jiǎn)單的方法,不需要寫(xiě)std::
直接使用using namespace std來(lái)代替std::。
using namespace std 告訴編輯器我們將要使用空間std中的函數(shù)或者對(duì)象。
如:using namespace std;
#include<iostream> using namespace std; int main() { ? ? cout<<"hello world"; ? ? cout<<endl; ? ? return 0; }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于C語(yǔ)言中數(shù)據(jù)在內(nèi)存中的存儲(chǔ)詳解
這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中數(shù)據(jù)在內(nèi)存中的存儲(chǔ)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04C語(yǔ)言簡(jiǎn)明清晰講解結(jié)構(gòu)體
C語(yǔ)言結(jié)構(gòu)體(Struct)從本質(zhì)上講是一種自定義的數(shù)據(jù)類(lèi)型,只不過(guò)這種數(shù)據(jù)類(lèi)型比較復(fù)雜,是由 int、char、float 等基本類(lèi)型組成的。你可以認(rèn)為結(jié)構(gòu)體是一種聚合類(lèi)型2022-05-05C++ 項(xiàng)目引入lib和dll的區(qū)別與使用實(shí)戰(zhàn)
靜態(tài)鏈接庫(kù)與動(dòng)態(tài)鏈接庫(kù)都是共享代碼的方式,本文主要介紹了C++項(xiàng)目引入lib和dll的區(qū)別與使用實(shí)戰(zhàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02