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 將一些常用的資料結構 比如鍊錶,陣列,二叉樹 寫成類模板 和演算法 比如排...