在定義 string 類物件時,string 類自身可以管理記憶體,程式設計師不必關注記憶體的分配細節。
string 類提供的各種操作函數大致分為八類:構造器和解構器、大小和容量、元素存取、字 符串比較、字串修改、字串接合、I/O 操作以及搜尋和查詢。
下表列出了 string 類的所有成員函數及它們的功能。
表 1 string 類的所有成員函數
函數名稱 |
功能 |
建構函式 |
產生或複製字串 |
解構函式 |
銷毀字串 |
=,assign |
賦以新值 |
Swap |
交換兩個字串的內容 |
+ =,append( ),push_back() |
新增字元 |
insert () |
插入字元 |
erase() |
刪除字元 |
clear () |
移除全部字元 |
resize () |
改變字元數量 |
replace() |
替換字元 |
+ |
串聯字串 |
==,! =,<,<=,>,>=,compare() |
比較字串內容 |
size(),length() |
返回字元數量 |
max_size () |
返回字元的最大可能個數 |
empty () |
判斷字串是否為空 |
capacity () |
返回重新分配之前的字元容量 |
reserve() |
保留記憶體以儲存一定數量的字元 |
[],at() |
存取單一字元 |
>>,getline() |
從 stream 中讀取某值 |
<< |
將值寫入 stream |
copy() |
將內容複製為一個 C - string |
c_str() |
將內容以 C - string 形式返回 |
data() |
將內容以字元陣列形式返回 |
substr() |
返回子字串 |
find() |
搜尋某子字串或字元 |
begin( ),end() |
提供正向疊代器支援 |
rbegin(),rend() |
提供逆向疊代器支援 |
get_allocator() |
返回設定器 |