STL 标准模板库与 string 类详解
1. 什么是 STL
STL (Standard Template Library) 标准模板库是 C++ 标准库的重要组成部分。它不仅是一个可复用的组件库,而且是一个包罗数据结构和算法的软件框架。
2. STL 六大组件
- 容器
- 算法
- 迭代器
- 仿函数
- 适配器
- 分配器
3. STL 三大境界
学习、熟练、扩展
4. string 的学习
4.1 通俗理解
string 就是一个会自己长大的字符数组,自带了很多工具函数。
4.2 为什么使用 string
- 自动内存管理
- 方便操作
- 安全(不会越界)
- 与 C 兼容
5. C++ string 类常用接口说明
5.1 简介
string 是 C++ 标准库中的字符串类,封装了动态字符数组,自动管理内存,提供丰富的成员函数。使用 string 比 C 风格字符串更安全、方便。
5.2 头文件与命名空间
#include <string>
using namespace std; // 或 std::string
5.3 常用接口分类
5.3.1 构造与赋值
| 接口 | 说明 | 示例 |
|---|---|---|
string() | 默认构造空字符串 | string s; |
string(const char* s) | 用 C 字符串构造 | string s("hello"); |
string(size_t n, char c) | 构造 n 个字符 c | string s(5, 'a'); → 'aaaaa' |
string(const string& str) | 拷贝构造 | string s2(s1); |
string(const string& str, size_t pos, size_t len = npos) | 子串构造 | string s(s1, 2, 3); |
operator= | 赋值 | s = "new"; 或 s = s2; |

