C 學習筆記 標準模板庫STL string

2021-09-12 18:22:50 字數 1087 閱讀 1179

string s("hello");

cout《成員函式at()會做範圍檢查,如果超出範圍,會丟擲out_of_range異常,而下標運算子不會做範圍檢查。

vector的遍歷方式後面再提。

string s1("good "),s2("morning!");

//good morning

//morning!d 。

如果3+s1.size()超過了字串長度,則複製到字串最後乙個字元

可以s1.compare(1,2,s3,0,3);比較一部分

s2 = s1.substr(4,5);
返回第一次出現的地方(索引),沒找到則返回string::npos

rfind()倒查

額外用法:s.find("ll",2)  從下標為2的地方開始查詢字串"ll"

find_first_of("abcd")查詢"abcd"中任何乙個字元第一次出現的地方

find_last_of()、find_first_not_of()、find_last_not_of()同理

(1)erase(pos,n); 刪除從pos開始的n個字元,比如erase(0,1)就是刪除第乙個字元

(2)erase(position);刪除position處的乙個字元(position是個string型別的迭代器)

(3)erase(first,last);刪除從first到last之間的字元(first和last都是迭代器)

從下標2開始的3個字元替換為「haha」

s1.insert(5,s2);

s1.insert(2,s2,5,3)

s.c_str()返回的是乙個 const char *指標,可以用於:

例如printf("%s\n", 此處需要乙個char*指標);

注意:盡量使用  char c[20];  strcpy(c,s.c_str());   而不要使用char* c = s.c_str();

因為在s物件被析構之後,c就變成了野指標。

返回char *指標,並且末尾沒有 『\0』

C 學習筆記 STL(標準模板庫)

1 首先 需要學習c 模板的概念 2 c stl 標準模板庫 是一套功能強大的 c 模板類,提供了通用的模板類和函式,這些模板類和函式可以實現多種流行和常用的演算法和資料結構,如向量 鍊錶 佇列 棧。3 c 標準模板庫的核心包括以下三個元件 元件描述 容器 containers 容器是用來管理某一類...

c 學習筆記 模板與標準模板庫(一)

出處 有時候在設計程式的時候會遇到這樣一種情況 需要設計的幾個類,其功能都是一樣的,僅僅只是需要操作的資料型別不同。遇到這樣的情況,固然可以將所有的類都設計一遍,但是在c 中,我們有更好的方法 設計乙個模板類。假設我們需要建立乙個陣列類,該陣列可能是整型陣列,也可能是double型別陣列 strin...

C 學習筆記36 標準模板庫STL

泛型程式設計 1 c 語言的核心優勢之一就是便於軟體重用 2 c 中有兩個方面體現重用 1 物件導向的思想 繼承和多型,標準類庫 2 泛型程式設計的思想 模板機制,以及標準模板庫stl3 簡單的說就是使用模板的程式設計法。4 將一些常用的資料結構 比如鍊錶,陣列,二叉樹 寫成類模板 和演算法 比如排...