STL簡(jiǎn)介
STL的原名是“Standard Template Library”安岂,翻譯過(guò)來(lái)就是標(biāo)準(zhǔn)模板庫(kù)帆吻。STL是C++標(biāo)準(zhǔn)庫(kù)的一個(gè)重要組成部分,主要由六大組件構(gòu)成。這六大組件是:
容器(Container)败许、算法(algorithm)、迭代器(iterator)市殷、仿函數(shù)(functor)、適配器(adapter)醋寝、配置器(allocator)。
1带迟、容器(container)
容器可以分為三類即序列容器、關(guān)聯(lián)容器和容器適配器仓犬。各類具體包含如下所示:
序列容器:vector、list搀继、deque
關(guān)聯(lián)容器:set、map叽躯、multiset、multimap
適配器容器:stack险毁、queue、priority_queue
STL中的string
string是STL的字符串類型畔况,在C語(yǔ)言中,我們通常用char *或者char[]字符數(shù)組來(lái)表示字符串跷跪。C++的string和C語(yǔ)言的char *有什么區(qū)別呢?
string是一個(gè)類葛菇,char *是指向字符的指針
string封裝了char *,管理這個(gè)字符串,是一個(gè)char *類型的容器
string不用考慮內(nèi)存釋放和數(shù)組越界
string提供了一些列的字符串操作函數(shù)
vector的基本用法
既然vector是容器眯停,那么就可以向這個(gè)容器添加刪除元素卿泽。
基本用法:
front()返回頭部元素的引用莺债,可以當(dāng)左值
back()返回尾部元素的引用,可以當(dāng)左值
push_back()添加元素齐邦,只能尾部添加
pop_back()移除元素,只能在尾部移除
STL中的deque容器
deque是一個(gè)雙端數(shù)組容器:可以在頭部和尾部操作元素措拇。
push_back?從尾部插入元素
push_front?從頭部插入元素
pop_back?從尾部刪除元素
pop_front?從頭部刪除元素