C STL篇(三)容器之string容器

2021-10-10 07:14:38 字數 1028 閱讀 7417

3.1string 容器基本概念

c風格的字串(以空字元結尾的字元陣列)太過於複雜,難以掌握,不適合大程式的開發,c++標準庫定義了一種string類,定義在標頭檔案中;

string和c的風格對比:

a、char是乙個指標,而string是乙個類;string封裝了char,管理字串,是char型的乙個容器;

b、string封裝了成員方法。如:find,copy,delete,replace,insert。

c、string不用考慮記憶體的額釋放和越界。string管理char分配的記憶體,每一次string的複製,取值都由string維護,不用擔心複製越界和取值越界等等。

字串基本操作如下:

#include#include//異常的標頭檔案

#includeusing namespace std;

/*字串的構造和賦值操作

*/void test01()

/*如果字串經過更改,重新分配記憶體,那麼之前的引用就不能正確的指向字串中的字元,

如果再次更改指向字串中字元的引用,則會報錯。

*/int main()

練習:寫乙個函式,函式內部將string字串中的所有小寫字元轉換成大寫字元

#include#includeusing namespace std;

void change()

{ string s="bcsvhwhuhjncmbhmb";

for(int i=0;i!!!

重點總結:

1.對字串訪問,和at的區別:

訪問越界會直接掛掉,at訪問越界會丟擲異常 out of range

2.substr 配合find 查詢郵件名

3.char * 和string轉換:

char * 可以隱式轉換成string 反之不可以

4. 字元大小寫轉換:toupper和tolower函式

5. find 如果找不到的話返回-1,找到則返回第一次出現的位置

C STL 之容器篇

stl 是標準模板庫,由容器,演算法,迭代器和容器介面卡組成。容器有 vector 陣列,順序儲存 list 鍊錶,可以翻轉,可以在頭尾新增,insert快,不可用 和at deque vector和list 的居中版,一部分順序,一部分用鍊錶的形式儲存,記憶體使用更加合理 map,set 關聯式容...

C STL常用操作之string篇

include 一種資料型別,類似於字串,但是可以進行一些比字串更方便的操作,在程式設計的時候也是經常用到。string s1 預設為空串 string s2 4 c 長度為4且每個位置的字元均為c cout s1 endl s2 endl getline cin,s1 讀取一整行 cin s2 讀...

C STL操作,string容器

include include 動態陣列 可變陣列 include 演算法標頭檔案 using namespace std void printvector int v stl基本語法 void text1 容器也可以存放自定義資料型別 class person int age int id voi...