C ++在其定義中具備一種將字符序列表示爲class對象的方式。此類稱爲std ::字符串。字符串類將字符存儲爲字節序列,並具備容許訪問單字節字符的功能。數組
std ::字符串與字符數組函數
字符數組只是能夠用空字符終止的字符數組。字符串是一個類,用於定義表示爲字符流的對象。學習
字符數組的大小必須靜態分配,若是須要,則沒法在運行時分配更多內存。若是使用字符數組,則會浪費未使用的分配內存。若是是字符串,則動態分配內存。能夠在運行時按需分配更多的內存。因爲沒有預分配內存,所以不會浪費內存。對象
若是是字符數組,則存在數組衰減的威脅。當字符串表示爲對象時,不會發生數組衰減。blog
實現字符數組是快比的std :: string。與實現相比,字符串比字符數組要慢。內存
字符數組沒有提供太多內置函數來操做字符串。字符串類定義了許多功能,這些功能容許對字符串進行多種操做。字符串
字符串操做get
輸入功能string
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():-此函數將一個字符串與另外一個字符串交換。