找回密码
 立即注册
首页 业界区 业界 C++ std::string

C++ std::string

边书仪 2025-10-1 18:10:14
C++ 标准库中的 std::string 是处理字符串的核心类,封装了字符串的存储、管理和操作,相比 C 风格的 char* 更安全、易用。
1、基本概念

1.1 基本特性

std::string 定义在  头文件中(属于 std 命名空间),本质是对动态字符数组的封装

  • 动态大小:自动扩容,无需手动管理内存(避免 C 风格字符串的缓冲区溢出问题)。
  • 值语义:赋值、传参时默认进行深拷贝(C++11 后支持移动语义,提升性能)。
  • 丰富接口:提供拼接、查找、替换等数十种字符串操作函数。
  • 与 C 兼容:可通过 c_str() 转换为 C 风格字符串(const char*)。
1.2 与 C 风格字符串的区别
  1. // C 风格字符串
  2. const char* cstr = "Hello";
  3. char cstr_array[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
  4. // C++ std::string
  5. std::string cppstr = "Hello";
复制代码
主要区别
<ul>内存管理:std::string 自动管理内存,无需手动分配/释放
安全性:std::string 避免缓冲区溢出等安全问题
功能性:std::string 提供丰富的成员函数
便利性:支持运算符重载(+, ==,

相关推荐

您需要登录后才可以回帖 登录 | 立即注册