順序容器概述
關於容器關係運算符的使用
關係運算符左右兩邊的運算對象必須是相同類型的容器,且必須保存相同類型的元素。
兩個vector的capacity不會影響相等性的判定
vector<int> ivec = {1,2,3,4,5,6,7};
vector<int> ivec1 = {1,2,3,4,5,6,7};
//ivec1添加、刪除元素導致擴容,但是二者仍然相等
ivec1.push_back(8); //末尾加入一個元素8
ivec1.pop_back(); //在ivec1的末尾刪除一個元素
向順序容器中添加元素的操作
emplace操作:當調用push和insert成員函數時,我們將元素類型的對象傳遞給它們,這些對象被拷貝到容器中。而當我們調用一個emplace成員函數時,則是將參數傳遞給元素類型的構造函數。emplace函數在容器中直接構造元素。傳遞給emplace函數的參數必須與元素類型的構造函數匹配。
訪問元素
刪除元素
特殊的forward_list操作
改變容器大小
管理容量的成員函數
一個vector的capacity和size有何區別
capacity返回已經爲vector分配了多大內存空間(單位是元素大小),也就是在不分配新空間的情況下,容器可以保存多少個新元素。而size則返回容器當前已經保存了多少個元素。
額外的string操作
假設希望每次讀取一個字符存入一個string中,而且知道最少讀取100個字符,如何提高程序性能?
關鍵:使用reserve先爲string分配100個字符的空間。
修改string的操作
string搜索操作
compare函數
數值轉換
容器適配器支持的操作和類型