为什么学习 string 类
在 C 语言中,字符串是以字符数组的形式存在的,处理起来往往需要手动管理内存和边界,容易引发缓冲区溢出等安全问题。C++ 引入的 std::string 类封装了这些底层细节,提供了更安全、便捷的字符串操作方式。
C++ 标准库中的 string 类
使用 string 类时,必须包含 <string> 头文件以及 using namespace std;。
auto 和范围 for
auto 关键字
auto 的核心功能是让编译器通过初始值来推导变量的类型。这意味着使用 auto 时,变量必须初始化。
auto x = 10; // x 被推导为 int
auto y = 3.14; // y 被推导为 double
auto ptr = &x; // ptr 被推导为 int*
用 auto 声明指针类型时,auto 和 auto* 没有区别;但声明引用类型时必须加 &,否则会发生值拷贝。
int x = 10;
int& ref = x;
auto c = ref; // c 的类型是 int(引用被丢弃)
auto& d = ref; // d 的类型是 int&(显式声明为引用)
d = 30; // x 变成了 30
注意,当在同一行声明多个变量时,它们必须是相同的类型。auto 不能作为函数参数,建议谨慎用作返回值。
for 循环
C++11 引入了基于范围的 for 循环,语法结构如下:
for(declaration : range) {
// 循环体
}
- 第一部分 (
declaration): 用于存放当前迭代到的元素。 - 第二部分 (
range): 要遍历的范围。
示例:
#include <iostream>
#include <string>
using std;
{
array[] = {, , , , };
(& e : array) e *= ;
( e : array) cout << e << ;
;
( ch : str) {
cout << ch << ;
}
;
}


