C 命名空間,標準庫,標準模板庫

2021-08-14 20:05:58 字數 766 閱讀 7666

全域性空間與命名空間

我們在使用c++時,匯入標頭檔案一般有兩種形式,帶『.h』和不帶『.h』。一般來說,不帶『.h』的是c++的標準標頭檔案,帶的是c語言的,『.h』裡面定義的所有類以及物件都是在全域性空間裡,不帶的是在命名空間std裡面。c++要相容c的標準庫,而c的標準庫里碰巧也已經有乙個名字叫做「string.h」的標頭檔案,包含一些常用的c字串處理函式,比如strcmp。 這個標頭檔案跟c++的string類半點關係也沒有,所以並非的「公升級版本」,他們是毫無關係的兩個標頭檔案。

我們在使用std命名空間時,不推薦直接使用using namespace std, 因為這樣引入了所有的元件函式名,相當於重新引發了名字空間氾濫的問題。同時,我們也不推薦在自己定義的標頭檔案中使用using宣告。

c++標準庫與標準模板庫關係

stl是最新的c++標準函式庫中的乙個子集,這個龐大的子集佔據了整個庫的大約80%的分量。而作為在實現stl過程中扮演關鍵角色的模板則充斥了幾乎整個c++標準函式庫。

c++標準函式庫為c++程式設計師們提供了乙個可擴充套件的基礎性框架。我們從中可以獲得極大的便利,同時也可以通過繼承現有類,自己編制符合介面規範的容器、演算法、迭代子等方式對之進行擴充套件。

c++標準庫是std名字空間中的所有內容,就是那些不帶.h的標頭檔案,如、等。如std::string,及io流都不屬於stl,

但它們是stl相容的,可以應用迭代器,演算法等。雖然std::string和io流也是模板類,但並不屬於stl。

c++標準庫和標準模板庫

std空間和全域性命名空間

c 標準庫 及 命名空間std

1 命名空間std c 標準中引入命名空間的概念,是為了解決不同模組或者函式庫中相同識別符號衝突的問題。有了命名空間的概念,識別符號就被限制在特定的範圍 函式 內,不會引起命名衝突。最典型的例子就是std命名空間,c 標準庫中所有識別符號都包含在該命名空間中。如果確信在程式中引用某個或者某些程式庫不...

標準模板庫( ) 介紹標準模板庫

標準模板庫就是類與函式模板的大集合。stl共有6種元件 容器,容器介面卡,迭代器,演算法,函式物件和函式介面卡。1 容器 容器是用來儲存和組織其他物件的物件。stl容器類的模板在標準標頭檔案中定義。1 序列容器是上面圖中的前三類 容器的操作 2 deque容器 非常類似vector,且支援相同的操作...

C 標準模板庫

map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值 的資料處理能力。資料的插入 includemapstudent strdent.insert pair 1,xiaoming strdent.insert pair 2...