C ++在其定義中具有一種將字符序串列示為class物件的方式,此類稱為std ::字串,字串類將字符存盤為位元組序列,并具有允許訪問單位元組字符的功能,
std ::字串與字符陣列
字符陣列只是可以用空字符終止的字符陣列,字串是一個類,用于定義表示為字符流的物件,

字符陣列的大小必須靜態分配,如果需要,則無法在運行時分配更多記憶體,如果使用字符陣列,則會浪費未使用的分配記憶體,如果是字串,則動態分配記憶體,可以在運行時按需分配更多的記憶體,由于沒有預分配記憶體,因此不會浪費記憶體,
如果是字符陣列,則存在陣列衰減的威脅,當字串表示為物件時,不會發生陣列衰減,
實作字符陣列是快比的std :: string,與實作相比,字串比字符陣列要慢,
如果你在學習C/C++的程序中遇到了問題,可以來加入小編的企鵝圈問小編哦~小編很熱情的(●’?’●)
字符陣列沒有提供太多內置函式來操作字串,字串類定義了許多功能,這些功能允許對字串進行多種操作,
字串操作
輸入功能

1. getline():-此函式用于將用戶輸入的字符流存盤在物件存盤器中,
2. push_back():-此函式用于在字串末尾輸入字符,
3. pop_back():-從C ++ 11(用于字串)引入,此函式用于洗掉字串中的最后一個字符,
容量功能
4. Capacity():-此函式回傳分配給字串的容量,該容量可以等于或大于字串的大小,分配了額外的空間,以便在將新字符添加到字串時,可以高效地完成操作,
5. resize():-此函式更改字串的大小,大小可以增加或減少,
6.length():-此函式查找字串的長度
7.shrink_to_fit():-此函式減小字串的容量,使其等于字串的最小容量,如果我們確定不必再添加任何字符,則此操作對于節省額外的記憶體很有用,
迭代器功能

8. begin():-此函式將迭代器回傳到字串的開頭,
9.端() :-該函式回傳一個迭代到結束的字串,
10. rbegin():-此函式回傳指向字串末尾的反向迭代器,
11. rend():-此函式回傳指向字串開頭的反向迭代器,
操作功能
12. copy(“ char array”,len,pos):-此函式將子字串復制到其引數中提到的目標字符陣列中,它需要3個引數,目標char陣列,要復制的長度以及字串中的開始位置才能開始復制,
13. swap():-此函式將一個字串與另一個字串交換,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/238916.html
標籤:其他
