string是c++風格的字串,其本質上是乙個類,內部封裝了很多成員函式。
string和char *的區別:
1.char *是乙個指標;
2.string是乙個類,內部封裝 char*,是乙個char*型的容器。
string建構函式:
函式原型:
// 建立乙個空字串例子:string();
// 使用字串s初始化
string(const char* s);
// 使用string物件初始化另乙個string物件
string(const string& str);
// 使用n個字元c初始化
string(int n,char c);
#include #include using namespace std;例子:void test01(){
string s1;
cout<<"s1="<string賦值操作:
函式原型:
// char*型別字串,賦值給當前字串
string& operator=(const char* s);
// 字串s賦給當前字串
string* operator=(const string &s);
// 把字元c賦給當前字串
string& operator=(char c);
// char*型別字串,賦值給當前字串
string& assign(const char* s);
// 把字串s的前n個字元賦給當前字串
string& assign(const char* s,int n);
// 字串s賦給當前字串
string& assign(const string &s);
// 把n個字元c賦給當前字串
string& assign(int n,char c);
#include #include using namespace std;string字串比較:void test01(){
string str1;
str1="hello";
cout<<"str1="<string字串拼接:
實現在字串末尾拼接字串。
函式原型:
string& operator+=(const char* str);
string& operator+=(const char c);
string& operator+=(const string& str);
//把字串s的前n個字元連線到當前字串結尾
//字串s中從pos開始的n個字元連線到字串結尾
例子:#include #include using namespace std;
void test01(){
string str1="hello";
str1+=" world";
cout<<"str1="<字串查詢和替換:
查詢時找到返回字元的位置,找不到返回-1。
函式原型:
//查詢str第一次出現位置,從pos開始查詢
int find(const string& str, int pos = 0) const;
//查詢s第一次出現位置,從pos開始查詢
int find(const char* s, int pos = 0) const;
//從pos位置查詢s的前n個字元第一次位置
int find(const char* s, int pos, int n) const;
//查詢字元c第一次出現位置
int find(const char c, int pos = 0) const;
//查詢str最後一次位置,從pos開始查詢
int rfind(const string& str, int pos = npos) const;
//查詢s最後一次出現位置,從pos開始查詢
int rfind(const char* s, int pos = npos) const;
//從pos查詢s的前n個字元最後一次位置
int rfind(const char* s, int pos, int n) const;
//查詢字元c最後一次出現位置
int rfind(const char c, int pos = 0) const;
//替換從pos開始n個字元為字串str
string& replace(int pos, int n, const string& str);
//替換從pos開始的n個字元為字串s
string& replace(int pos, int n,const char* s);
比較方式:
按照字元的ascii碼進行對比
== 返回 0;
> 返回 1;
< 返回-1.
函式原型:
//與字串s比較字串訪問:int compare(const string &s) const;
//與字串s比較
int compare(const char *s) const;
函式原型:
//通過方式取字元string插入和刪除:char& operator(int n);
//通過at方法獲取字元
char& at(int n);
起始下標從0開始。
函式原型:
string& insert(int pos, const char* s);例子:string& insert(int pos, const string& str);
//在指定位置插入n個字元c
string& insert(int pos, int n, char c);
//刪除從pos開始的n個字元
string& erase(int pos, int n = npos);
#include #include using namespace std;void test01(){
string str1="hello";
str1.insert(1,"000");
cout<<"str1="<string子串:
函式原型:
//返回由pos開始的n個字元組成的字串
string substr(int pos = 0, int n = npos) const;
C 學習筆記 STL常用容器 list
list容器的功能 將資料進行鏈式儲存。stl中的鍊錶是乙個雙向迴圈鍊錶。list的優點 採用動態儲存分配,不會造成記憶體浪費和溢位 執行插入和刪除方便,修改指標的指向即可,不需要移動大量元素。list的缺點 空間 指標域 和時間 遍歷 耗費較大。list插入和刪除元素不會造成原有的迭代器的失效。l...
C 學習筆記 STL常用容器 set和map
set 所有元素在插入時自動排序,底層結構用二叉樹實現。set和multiset的區別 set不允許容器中有重複的元素,multiset允許容器中有重複的元素。set構造和賦值 構造 預設建構函式 setst 拷貝建構函式 set const set st 賦值 過載等號操作符 set operat...
C 學習 STL容器
vector 向量 線性容器 用標準模板,記得加上相應的標頭檔案 include include using namespace std int main 設定向量容量 初始化 v1 0 8 v1 1 8 v1 2 8 宣告迭代器 標準他屬於那個模板 vector iterator v1 iter ...