C 提高程式設計 3 STL常用容器

2022-09-21 22:15:23 字數 2847 閱讀 8812

3.1  string容器

3.1.1  string基本概念

本質:string是c++風格的字串,而string本質上是乙個類

string和char*區別:

1、char*是乙個指標

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

特點:string類內封裝了很多成員方法,如查詢(find),拷貝(copy),刪除(delete),替換(replace),插入(insert);string管理char*所分配的記憶體,不用擔心複製越界和取值越界等,由類內部進行負責

3.1.2  string建構函式

建構函式原型:

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

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

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

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

#includeusing

namespace

std;

#include

//string建構函式

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

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

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

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

3.1.3  string賦值操作

給string賦值,operator=用的比較多,比較實用

賦值的原函式:

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

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

string& operator=(char c);         //字元賦值給當前的字串

string& assign(const char  *s);     //把字串s賦給當前的字串

string& assign(const char  *s, int n);    //把字串s的前n個字元賦給當前的字串

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

string& assign(int n,char c);     //用n個字元c賦給當前字串

#includeusing

namespace

std;

#include

//string賦值操作

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

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

string& operator=(char c);       //字元賦值給當前的字串

string& assign(const char *s);      //把字串s賦給當前的字串

string& assign(const char *s, int n); //把字串s的前n個字元賦給當前的字串

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

string& assign(int n,char c);      //用n個字元c賦給當前字串

string字串拼接

實現在字串末尾拼接字串

函式原型:

string& operator+=(const char*  str);        //過載+=操作符

string& operator+=(const char c);          //過載+=操作符

string& operator+=(const string& str);         //過載+=操作符

#includeusing

namespace

std;

#include

//string字串拼接

/*string& operator+=(const char* str);        //過載+=操作符

string& operator+=(const char c);          //過載+=操作符

string& operator+=(const string& str);       //過載+=操作符

STL常用容器(3) deque

deque 雙端陣列 在頭部插入資料的速度比vector快 訪問元素的速度沒有vector快 支援隨機訪問的迭代器 內部結構 deque容器內部有乙個中控器,維護每段緩衝區的內容,緩衝區存放的是真實的位址 中控器維護每個緩衝區的位址 建構函式 同vector 賦值 同vector 大小 沒有vect...

C 提高程式設計 5 STL 常用演算法(查詢演算法)

5.2 常用查詢演算法 5.1 find includeusing namespace std include include include 常用查詢容器 find void test1 查詢容器中 是否有5 這個元素 vector iterator pos find v.begin v.end ...

C 提高程式設計(2) STL初識

stl大體分為六大元件,分別是 容器 演算法 迭代器 仿函式 介面卡 配接器 空間配置器 容器 各種資料結構,如vector list deque set map等,用來存放資料。演算法 各種常用的演算法,如sort find copy for each等 迭代器 扮演了容器與演算法之間的膠合劑。仿...