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...