std::string 是 C++ Standard Library 提供的标准类之一,也是 C++ 开发中最常用的类之一。它本质上是对 C 风格字符串(char*)的封装,提供了自动内存管理和丰富的操作接口。
核心概念
std::string 位于 <string> 头文件中,本质上是对 std::basic_string<char> 的特化版本。
- 头文件:
#include <string> - 命名空间:
std - 特点:动态管理内存,自动处理扩容,兼容 C 风格字符串。
初始化与构造
#include <string>
#include <vector>
std::string s1; // 默认构造,空字符串 ""
std::string s2 = "Hello, World"; // 拷贝初始化
std::string s3("Hello, World"); // 直接初始化
std::string s4(5, 'A'); // 生成 "AAAAA"
std::string s5(s2); // 拷贝构造
std::string s6(s2, 1, 3); // 子串构造:从索引 1 开始取 3 个字符 -> "ell"
// C++11 及以后
std::string s7 = {'H', 'i'}; // 列表初始化
容量与属性
了解容量对于优化性能至关重要,特别是避免不必要的内存重分配。
| 函数 | 说明 | 备注 |
|---|---|---|
size() / length() | 返回字符数量 | 两者完全等价,一般用 size() |

