C++ std::string
C++ 标准库中的 std::string 是处理字符串的核心类,封装了字符串的存储、管理和操作,相比 C 风格的 char* 更安全、易用。1、基本概念
1.1 基本特性
std::string 定义在头文件中(属于 std 命名空间),本质是对动态字符数组的封装
[*]动态大小:自动扩容,无需手动管理内存(避免 C 风格字符串的缓冲区溢出问题)。
[*]值语义:赋值、传参时默认进行深拷贝(C++11 后支持移动语义,提升性能)。
[*]丰富接口:提供拼接、查找、替换等数十种字符串操作函数。
[*]与 C 兼容:可通过 c_str() 转换为 C 风格字符串(const char*)。
1.2 与 C 风格字符串的区别
// C 风格字符串
const char* cstr = "Hello";
char cstr_array = {'H', 'e', 'l', 'l', 'o', '\0'};
// C++ std::string
std::string cppstr = "Hello";主要区别:
<ul>内存管理:std::string 自动管理内存,无需手动分配/释放
安全性:std::string 避免缓冲区溢出等安全问题
功能性:std::string 提供丰富的成员函数
便利性:支持运算符重载(+, ==,
页:
[1]