C++ string用法总结

std::string 是 C++ 标准库提供的字符串类,提供了一系列方法用于处理字符串。以下是一些 std::string 的基本用法总结:

  1. 包含头文件
#include <string>
  1. 声明和初始化
std::string str;                     // 创建一个空字符串
std::string str1 = "Hello, ";        // 使用字符串字面值初始化
std::string str2("world!");          // 使用构造函数初始化
std::string str3 = str1 + str2;       // 字符串拼接
  1. 获取字符串长度
str.length();   // 获取字符串长度
str.size();     // 获取字符串长度
  1. 访问字符串中的字符
char ch = str[0];   // 获取字符串中的第一个字符
  1. 字符串的迭代器遍历
for (auto it = str.begin(); it != str.end(); ++it) {
    // 使用迭代器访问字符
}
  1. 字符串连接和拼接
str.append(" Additional Text");   // 在字符串末尾追加文本
str += " Another Text";           // 使用 += 运算符拼接字符串
  1. 字符串比较
str1 == str2;   // 字符串相等性比较
str1 != str2;   // 字符串不相等性比较
str1 < str2;    // 字符串大小比较
  1. 字符串查找和替换
size_t pos = str.find("search");   // 在字符串中查找子字符串,返回位置
str.replace(pos, 6, "replace");     // 替换子字符串
  1. 字符串截取
std::string substr = str.substr(pos, length);   // 从指定位置截取指定长度的子字符串
  1. 字符串转换为 C 风格字符串
const char* cStr = str.c_str();   // 返回一个指向以 null 结尾的 C 风格字符串的指针
  1. 字符串的其他操作
str.clear();        // 清空字符串
str.empty();        // 判断字符串是否为空
  1. 注意事项
  • std::string 自动管理字符串的内存,不需要手动分配或释放内存。
  • 在涉及大量字符串拼接或修改的情况下,可以考虑使用 std::stringstream 或其他更高效的方式,以避免频繁的内存重新分配。