C++ Primer 5th笔记(9)chapter9 顺序容器 string
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer 5th笔记(9)chapter9 顺序容器 string
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. string構造
string s; 定義一個新的空string對象,命名為s string s(cp); 定義一個新的string對象,用cp所指向的(以空字符null結束的)C風格字符串初始化該對象 string s(s2); 定義一個新的string對象,并將它初始化為s2的副本string s(cp, n) 創建一個string對象,它被初始化為cp所指向數組的前n個元素的副本 string s(s2, pos2) 創建一個string對象,它被初始化為一個已存在的string對象s2中從下表pos2開始的字符的副本 string s(s2, pos2, len2) 創建一個string對象,它被初始化為s2中從下標pos2開始的len2個字符的副本。- 如果pos2 > s2.size(),則該操作未定義
- 注意:n、len2和pos2都是unsigned值
2. string insert assign erase
s.insert(p, t) 在迭代器p指向的元素之前插入一個值為t的新元素。返回指向新插入元素的迭代器 s.insert(p, n, t) 在迭代器p指向的元素之前插入n個值為t的新元素。返回void s.insert(p, b, e) 在迭代器p指向的元素之前插入迭代器b和e標記范圍內所有的元素。返回voids.insert(pos, n, c) 在下標為pos的元素之前插入n個字符c s.insert(pos, s2) 在下標為pos的元素之前插入string對象s2的副本 s.insert(pos, s2, pos2, len) 在下標為pos的元素之前插入s2中從下標pos2開始的len個字符 s.insert(pos, cp, len) 在下標為pos的元素之前插入cp所指向數組的前len個字符 s.insert(pos, cp) 在下標為pos的元素之前插入cp所指向的以空字符結束的字符串副本s.assign(b, e) 用迭代器b和e標記范圍內的元素替換s。對于string類型,該操作返回s;對于容器類型,則返回void s.assign(n, t) 用值為t的n個副本替換s。對于string類型,該操作返回s;對于容器類型,則返回voids.assign(s2) 用s2的副本替換s s.assign(s2, pos2, len) 用s2中從下標pos2開始的len個字符副本替換s s.assign(cp, len) 用cp所指向數組的前len個字符副本替換s s.assign(cp) 用cp所指向的以空字符結束的字符串副本替換ss.erase(pos, len) 刪除從下標pos開始的len個字符 s.erase(p) 刪除迭代器p指向的元素。返回一個迭代器,指向被刪除元素后面的元素 s.erase(b, e) 刪除迭代器b和e標記范圍內的所有元素。除非特殊聲明,上述所有操作都返回s的引用
3. substr append replace
s.substr(pos, n) 返回一個string類型的字符串,它包含s中從下標pos開始的n個字符 s.substr(pos) 返回一個string類型的字符串,它包含從下標pos開始到s末尾的所有字符 s.substr() 返回s的副本s.append(args) 將args串接在s后面。返回s的引用 s.replace(pos, len, args) 刪除s中從下標pos開始的len個字符,用args指定的字符代替之。返回s的應用,在這個版本中,args不能為b2, e2s.replace(b, e, args) 刪除迭代器b和e標記的范圍內所有的字符,用args替換之。返回s的引用 在這個版本中,args不能為s2, pos2, len2args取值 s2 string類型的字符串s2 s2, pos2, len2 字符串s2中從下標pos2開始的len2個字符 cp 指針cp指向的以空字符結束的數組 cp, len2 cp指向的以空字符結束的數組中前len2個字符 n, c 字符c的n個副本 b2, e2 迭代器b2和e2標記的范圍內所有字符4. find
s.find(args) 在s中查找args的第一次出現 s.rfind(args) 在s中查找args的最后一次出現 s.find_first_of(args) 在s中查找args的任意字符的第一次出現 s.find_last_of(args) 在s中查找args的任意字符的最后一次出現 s.find_first_not_of(args) 在s中查找第一個不屬于args的字符 s.find_last_not_of(args) 在s中查找最后一個不屬于args的字符args取值 c, pos 在s中,從下標pos標記的位置開始,查找字符c。pos的默認值為0 s2, pos 在s中,從下標pos標記的位置開始,查找string對象s2。pos的默認值為0 cp, pos 在s中,從下標pos標記的位置開始,查找指針cp所指向的C風格的以空字符結束的字符串。pos的默認值為0 cp, pos, n 在s中,從下標pos標記的位置開始,查找指針cp所指向數組的前n個字符。pos和n都沒有默認值5. compare操作
s.compare(s2) 比較s和s2 s.compare(pos1, n1, s2) 讓s中從pos下標位置開始的n1個字符與s2作比較 s.compare(pos1, n1, s2, pos2, n2) 讓s中從pos1下標位置開始的n1個字符與s2中從pos2下標位置開始的n2個字符作比較 s.compare(cp) 比較s和cp所指向的以空字符結束的字符串 s.compare(pos1, n1, cp) 讓s中從pos1下標位置開始的n1個字符與cp所指向的字符串作比較 s.compare(pos1, n1, cp, n2) 讓s中從pos1下標位置開始的n1個字符與cp所指向字符串的前n2個字符作比較6. 數值轉換
b是基數,默認是10
to_string(val); //數值val的string表示 stoi (s, p, b); //int stol (s, p, b);//long stoul (s, p, b);//unsigned long stoll (s, p, b);//long long stoull (s, p, b);//unsigned long long stod (s, p);//double int i = 42; string s = to_string(i); double d = stod(s);總結
以上是生活随笔為你收集整理的C++ Primer 5th笔记(9)chapter9 顺序容器 string的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(9)c
- 下一篇: 以太坊节点布置(1) 安装geth