C++ 标准库 string 类详解
一、为什么学习 string 类?
在 C 语言中,字符串是以 char* 形式存在的字符数组,需要手动管理内存和长度。而在 C++ 中,std::string 类封装了这些细节,提供了更安全、便捷的文本处理能力。掌握它不仅是日常开发的基础,也是理解 C++ 内存模型和 STL 容器设计的关键。
二、C++ 标准库中的 string 类
使用 string 类前,需包含 <string> 头文件并引入命名空间:
#include <iostream>
#include <string>
using namespace std;
2.1 auto 和范围 for
auto 关键字
auto 的核心功能是让编译器根据初始值推导变量类型。使用时必须初始化,且同一行声明的多个变量类型必须一致。
auto x = 10; // 推导为 int
auto y = 3.14; // 推导为 double
auto ptr = &x; // 推导为 int*
int x = 10;
int& ref = x;
auto c = ref; // c 是 int(引用被丢弃)
auto& d = ref; // d 是 int&(保留引用)
注意:auto 不能直接用于函数参数或数组声明,也不能单独作为返回值类型(除非配合 decltype 或 C++20)。
范围 for 循环
C++11 引入的范围 for 简化了遍历操作,自动处理迭代器边界。
int arr[] = {1, 2, 3, 4, 5};
for (int x : arr) {
cout << x << " ";
}
string ;
( ch : str) {
cout << ch << ;
}


