溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

STL標(biāo)準(zhǔn)庫中string,vector,list使用的異同點

發(fā)布時間:2020-07-25 00:51:52 來源:網(wǎng)絡(luò) 閱讀:322 作者:夢T醒 欄目:編程語言

STL標(biāo)準(zhǔn)庫中string,vector,list使用的異同點 我們一起來學(xué)習(xí)
常用接口
string類常見構(gòu)造:

函數(shù)名 功能說明
string() 構(gòu)造空的string類對象,即空字符串
string(const char* s) 用C-string來構(gòu)造string類對象
string(size_t n, char c) string類對象中包含n個字符c
string(const string&s) 拷貝構(gòu)造函數(shù)
void Teststring()
{
 string s1; // 構(gòu)造空的string類對象s1
 string s2("hello bit"); // 用C格式字符串構(gòu)造string類對象s2
 string s3(s2); // 拷貝構(gòu)造s3
}

vector類常見構(gòu)造函數(shù):

函數(shù)名 功能說明
vector() 無參構(gòu)造
vector(size_type n, const value_type& val = value_type()) 構(gòu)造并初始化n個val
vector (const vector& x); 拷貝構(gòu)造
vector (InputIterator first, InputIterator last); 使用迭代器進行初始化構(gòu)造
 std::vector<int> first; 
 std::vector<int> second (4,100);
 std::vector<int> fourth (third); 
 std::vector<int> third (second.begin(),second.end());

list類常見構(gòu)造函數(shù):

Column 1 Column 2
list() 構(gòu)造空的list
list (size_type n, const value_type& val = value_type()) 構(gòu)造的list中包含n個值為val的元素
list (const list& x) 拷貝構(gòu)造函數(shù)
list (InputIterator first, InputIterator last) 用[first, last)區(qū)間中的元素構(gòu)造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三個類迭代器操作一模一樣

函數(shù)名 功能說明
begin 將迭代器返回到開頭
end 將迭代器返回到結(jié)尾
rbegin 將反向迭代器返回到反向開始
rend 將反向迭代器返回到反向結(jié)尾

空間容量操作
string,vector類的空間容量操作,length()函數(shù)是string類獨有

函數(shù)名 功能說明
size/length 返回字符串有效字符長度
capacity 返回空間總大小
max_size 可供儲存元素的個數(shù)的上線,通常是由于尋址空間決定的
empty 檢測字符串釋放為空串,是返回true,否則返回false
clear 清空有效字符
reserve 為字符串預(yù)留空間
resize 將有效字符的個數(shù)該成n個,多出的空間用字符c填充

list類的空間容量操作:

函數(shù)名 功能說明
size 返回字符串有效字符長度
capacity 返回空間總大小
max_size 可供儲存元素的個數(shù)的上線,通常是由于尋址空間決定的

修改元素操作
string,vector,list三個類共有的函數(shù)操作

函數(shù)名 功能說明
push_back 在末尾追加元素
pop_back 刪除末尾元素
insert 插入元素
erase 刪除元素
swap 交換元素

string獨有操作

函數(shù)名 功能說明
operator+= 在字符串后追加字符串

list類獨有操作

函數(shù)名 功能說明
push_front 頭插
pop_front 頭刪

vector,list共有函數(shù)

函數(shù)名 功能說明
clear 清空內(nèi)容

獨有操作
每個類型模板都有自己的一些獨有操作函數(shù)
例如:string類的c_str等函數(shù)
而有些操作例如:
list類中unique(),remove(),remove_if(),sort(),reverse()
string類中find(),copy()等函數(shù)雖然在STL中都是獨有的,但是在algorithm頭文件(這個頭文件的強大遠(yuǎn)出乎你的想象哦o(^@^)o)中都有涉及,意味著只要運用得到,reverse()也可以對string類的對象使用

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI