1.string類核心定位
std::string
?本質是對 “字符序列” 的封裝,內部通過動態數組存儲字符,并自動管理內存(分配、擴容、釋放),對外提供了簡潔的接口用于字符串的創建、修改、拼接、查找等操作。
1.1 使用前提
頭文件包含<string>
提前聲明using namespace std
1.2 核心優勢
- 自動內存管理:無需手動?
malloc
/free
?或?new
/delete
,長度會根據內容自動調整,避免內存泄漏。- 安全訪問:提供?
at()
?方法訪問字符時會檢查越界(拋異常),避免 C 字符串的越界訪問風險。- 豐富操作接口:內置拼接(
+
/+=
)、查找(find
)、替換(replace
)等方法,無需手動實現。- 兼容 C 字符串:可通過?
c_str()
?方法轉換為?const char*
,適配需要 C 風格字符串的場景(如?printf)
2.string的接口使用
2.1 構造函數
示例:
2.2 對容器進行操作的接口
size()和length();:返回字符串的長度? ?
max_size(): 返回字符串的最大容量? ?
capacity:當前string儲存的最大容量?
reserve(): 改變capacity的最大容量?
empty(): 判斷是否為空
2.3 對容器里面存儲的值做修改
operator[]:返回對字符串中位置pos的字符引用?
push_back():將字符添加到字符串末尾???
insert():在指定位置插入字符串或者字符
erase(): 在指定位置刪除字符串
示例:
3.string類的模擬實現
繼續加油!!!