咱們一塊兒來學習
經常使用接口
string類常見構造:ide
函數名 | 功能說明 |
---|---|
string() | 構造空的string類對象,即空字符串 |
string(const char* s) | 用C-string來構造string類對象 |
string(size_t n, char c) | string類對象中包含n個字符c |
string(const string&s) | 拷貝構造函數 |
void Teststring() { string s1; // 構造空的string類對象s1 string s2("hello bit"); // 用C格式字符串構造string類對象s2 string s3(s2); // 拷貝構造s3 }
vector類常見構造函數:函數
函數名 | 功能說明 |
---|---|
vector() | 無參構造 |
vector(size_type n, const value_type& val = value_type()) | 構造並初始化n個val |
vector (const vector& x); | 拷貝構造 |
vector (InputIterator first, InputIterator last); | 使用迭代器進行初始化構造 |
std::vector<int> first; std::vector<int> second (4,100); std::vector<int> fourth (third); std::vector<int> third (second.begin(),second.end());
list類常見構造函數:學習
Column 1 | Column 2 |
---|---|
list() | 構造空的list |
list (size_type n, const value_type& val = value_type()) | 構造的list中包含n個值爲val的元素 |
list (const list& x) | 拷貝構造函數 |
list (InputIterator first, InputIterator last) | 用[first, last)區間中的元素構造list |
std::list<int> l1; std::list<int> l2 (4,100); std::list<int> l4 (l3); std::list<int> l3 (l2.begin(), l2.end());
迭代器器操做
string,vector,list三個類迭代器操做如出一轍code
函數名 | 功能說明 |
---|---|
begin | 將迭代器返回到開頭 |
end | 將迭代器返回到結尾 |
rbegin | 將反向迭代器返回到反向開始 |
rend | 將反向迭代器返回到反向結尾 |
空間容量操做
string,vector類的空間容量操做,length()函數是string類獨有對象
函數名 | 功能說明 |
---|---|
size/length | 返回字符串有效字符長度 |
capacity | 返回空間總大小 |
max_size | 可供儲存元素的個數的上線,一般是因爲尋址空間決定的 |
empty | 檢測字符串釋放爲空串,是返回true,不然返回false |
clear | 清空有效字符 |
reserve | 爲字符串預留空間 |
resize | 將有效字符的個數該成n個,多出的空間用字符c填充 |
list類的空間容量操做:blog
函數名 | 功能說明 |
---|---|
size | 返回字符串有效字符長度 |
capacity | 返回空間總大小 |
max_size | 可供儲存元素的個數的上線,一般是因爲尋址空間決定的 |
修改元素操做
string,vector,list三個類共有的函數操做接口
函數名 | 功能說明 |
---|---|
push_back | 在末尾追加元素 |
pop_back | 刪除末尾元素 |
insert | 插入元素 |
erase | 刪除元素 |
swap | 交換元素 |
string獨有操做ci
函數名 | 功能說明 |
---|---|
operator+= | 在字符串後追加字符串 |
list類獨有操做rem
函數名 | 功能說明 |
---|---|
push_front | 頭插 |
pop_front | 頭刪 |
vector,list共有函數字符串
函數名 | 功能說明 |
---|---|
clear | 清空內容 |
獨有操做
每一個類型模板都有本身的一些獨有操做函數
例如:string類的c_str等函數
而有些操做例如:
list類中unique(),remove(),remove_if(),sort(),reverse()
string類中find(),copy()等函數雖然在STL中都是獨有的,可是在algorithm頭文件(這個頭文件的強大遠出乎你的想象哦o(^@^)o)中都有涉及,意味着只要運用獲得,reverse()也能夠對string類的對象使用