STL複習(1)之string容器

2021-10-19 08:52:22 字數 2115 閱讀 4442

1.string和char * 區別:

char * 是乙個指標

string是乙個類,類內部封裝了char*,管理這個字串,是乙個char* 型的容器

2.建構函式:

string(); //建立乙個空的字串 例如: string str

string(const char* s); //使用字串s初始化

string(const string& str);//使用乙個string物件初始化另乙個string物件

string(int n, char c); //使用n個字元c初始化

3.賦值:

string& operator=(const char* s); //char*型別字串 賦值給當前的字串

string& operator=(const string &s); //把字串s賦給當前的字串

5.查詢和替換:

int find(const string& str, int pos )const; //查詢str第一次出現位置,從pos開始查詢

int find(const char* s, int pos ) const; //查詢s第一次出現位置,從pos開始查詢

int find(const char* s, int pos, int n) const; //從pos位置查詢s的前n個字元第一次位置

int find(const char c, int pos = 0) const; //查詢字元c第一次出現位置

int rfind(const string& str, int pos) const; //查詢str最後一次位置,從pos開始查詢

int rfind(const char* s, int pos ) const; //查詢s最後一次出現位置,從pos開始查詢

int rfind(const char* s, int pos, int n) const; //從pos查詢s的前n個字元最後一次位置

int rfind(const char c, int pos = 0) const; //查詢字元c最後一次出現位置

string& replace(int pos, int n, const string& str)****; //替換從pos開始n個字元為字串str

string& replace(int pos, int n,const char* s); //替換從pos開始的n個字元為字串s

6.字串比較:

int compare(const string &s) const; //與字串s比較

int compare(const char *s) const; //與字串s比較

7.字元訪問:

char& operator(int n); //通過方式取字元

char& at(int n); //通過at方法獲取字元

8.插入和刪除:

string& insert(int pos, const char* s); //插入字串

string& insert(int pos, const string& str); //插入字串

string& insert(int pos, int n, char c); //在指定位置插入n個字元c

string& erase(int pos, int n ); //刪除從pos開始的n個字元

9.子串:

string substr(int pos , int n) const; //返回由pos開始的n個字元組成的字串

10.測試:

#include

#include

#include

using

namespace std;

intmain()

摘自《黑馬》——c++提高程式設計

String用法(STL基本容器)

string c 標準庫中的string表示可變長的字串,它在標頭檔案string裡面。include string using std string 直接初始化和拷貝初始化 string s1 初始化字串,空字串 string s2 s1 拷貝初始化,深拷貝字串 string s3 i am b ...

STL容器操作 string詳解

1 string概念 string和char 的比較 string封裝了char 管理這個字串,是乙個char 型的容器。string管理char 所分配的記憶體。每一次string的複製,取值都由string類負責維護,不用擔心複製越界和取值越界等。查詢find,拷貝copy,刪除erase,替換...

STL總結複習(1)

1.cbegin 迭代器是常量迭代器,這個迭代器本身可以加減,但是不能用其修改指向的內容 2.array at會檢查陣列邊界並通過丟擲乙個out of range異常來判斷n是否超出範圍,而array operator 不檢查邊界。3.back front 返回的是容器第乙個和最後乙個元素的引用,對...