string所有方法
string的所有方法 构造与赋值 string() 默认构造函数(空字符串) string(const string& str) 拷贝构造函数 string(const char* s) 从C风格字符串构造 string(size_t n, char c) 构造包含 n 个字符 c 的字符串 operator= 赋值操作符(支持字符串、字符数组、字符等) assign(...) 多种重载,灵活赋值 容量相关 size() / length() 返回字符数量(等价方法) capacity() 返回当前分配的存储容量 empty() 判断字符串是否为空 reserve(size_t n) 预留至少 n 字节的内存空间 resize(size_t n) 调整字符串长度为 n(填充默认字符或截断) shrink_to_fit() 请求减少容量以匹配当前大小(C++11) 元素访问 operator[](size_t pos) 访问指定位置字符(不检查越界) at(size_t pos) 访问指定位置字符(越界时抛出异常) front() 返回首字符(C++11) back() 返回末尾字符(C++11) data() 返回指向内部字符数组的指针(C++11 后保证以 \0 结尾) c_str() 返回C风格字符串(const char*) 修改操作 clear() 清空字符串内容 push_back(char c) 在末尾追加字符 pop_back() 删除末尾字符(C++11) append(...) 追加字符串/字符数组/子串等 operator+= 追加字符串/字符数组/字符 insert(size_t pos, ...) 在指定位置插入内容 erase(size_t pos, size_t len) 删除指定位置的内容 replace(size_t pos, size_t len, ...) 替换指定位置的内容 swap(string& str) 交换两个字符串的内容 字符串操作 substr(size_t pos, size_t len) 返回从 pos 开始的子字符串 copy(char* dest, size_t len, size_t pos) 将子字符串复制到字符数组 compare(...) 与另一个字符串/字符数组比较(返回 -1/0/1) starts_with(...) 判断是否以指定前缀开头(C++20) ends_with(...) 判断是否以指定后缀结尾(C++20) contains(...) 判断是否包含子字符串(C++23) 查找与替换 find(...) 查找子字符串/字符的首次出现位置 rfind(...) 查找子字符串/字符的最后一次出现位置 find_first_of(...) 查找字符集合中任意字符的首次出现 find_last_of(...) 查找字符集合中任意字符的最后一次出现 find_first_not_of(...) 查找不在字符集合中的首个字符 find_last_not_of(...) 查找不在字符集合中的最后一个字符 迭代器 begin() / end() 正向迭代器的起始和结束 rbegin() / rend() 反向迭代器的起始和结束 cbegin() / cend() 常量正向迭代器(C++11) 其他操作 getline(istream& is, string& str) 从输入流读取一行到字符串(全局函数) operator+ 字符串拼接(非成员函数) operator<< / operator>> 流输入输出操作