STL詳細介紹(更新中 )

2021-09-22 21:39:41 字數 1476 閱讀 1177

目錄

string

string的常見建構函式

string與char *(或const char*)之間的轉換

string 轉化為const char*

const char* 轉化為string

string 轉化為 char*

char* 轉化為string

find函式

//通過const char * 初始化

string s1 = "aaaa";

//建構函式初始化

string s2("bbbbb");

//通過拷貝建構函式來初始化物件s3

string s3 = s2;

//用10個'a'字元來初始化字串

string s4(10, 'a');

string str("aaaaaaa");

const char *s = str.c_str(); /*str.c_str()返回的應該是const char* 型別*/

const char *p1 = "123345";

string str1 = p1; /*直接拷貝*/

//或者這樣

string str2(p1);

char buf[200] = ; 

str.copy(buf, 3, 0); /*將str中的3個字元拷貝到buf中,0代表末尾的'\0'*/

/*與const char*類似,只不過是char*型別的罷了*/
參考部落格: 

對於vector, list,只能用  find(ar1.begin(), ar1.end(), target)來看是否有target這個元素,這裡find返回乙個迭代器,也就是指標,對於vector而言,若想得到target對應的下標,則應用它減去ar1.begin();這個主要用於判斷是否含有target,若不含有,則返回ar1.end(),因此常用 if(find(ar1.begin(), ar1.end(), "bbb") != ar1.end()) 來判斷。

而對於set,multiset而言,還可以用a.find(target),用myset.find(x) != myset.end()來判斷是否有這個元素

對於map,multimap而言,可以用a.find(key),返回乙個迭代器,若沒有這個key值,則返回a.end().其用處除了這個還可以用迭代器直接訪問這個key對應的value,**如下:

map::iterator it = p.find(str);    /*查詢p的key中是否含有str*/

if(it != p.end())

cout << it->second << endl; /*如果有,則輸出它對應的value值*/

c 中STL庫佇列詳細介紹

1.queue單向佇列 先進先出,只能從尾端加元素,從頭刪元素 使用方式 在前面加上檔名 include 再進行宣告 queuem 其中 裡面是陣列的型別,m 是陣列的名字。操作 1.q.push 入隊 2.q.pop 讓隊首出隊 3.q.front 獲得隊首元素 4.q.back 獲得隊尾元素 5...

STL之MAP的詳細使用介紹

map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值 的資料處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一顆紅黑樹 一種非嚴格意義上...

C 中STL的介紹

1.stl基本概念 stl概念 stl algorithm 演算法 container 容器 和iterator 迭代器 c 標準客戶組成 模板回顧 2.stl的string string的初始化 遍歷 字元指標和string的轉換 連線和替換 截斷 區間刪除 和 插入 string反轉和大小寫轉換...