前言
在 C++ 编程中,控制流和数据结构是构建逻辑的基石。除了基础的输入输出,掌握条件判断、循环结构以及数组的高效操作至关重要。本文将重点讲解现代 C++(特别是 C++11 及以上)中的范围 for 循环,以及内存操作函数 memset 和 memcpy 的实际应用与注意事项。
一、条件判断与循环基础
C++ 的条件判断与循环涵盖了 if-else、switch、while、for、do-while 等语句,以及 break 和 continue 的控制跳转。这些结构与 C 语言基本一致,但在 C++11 之后引入了更便捷的范围 for 循环(Range-based for loop),极大地简化了遍历操作。
二、一维与二维数组及范围 for
数组的创建、初始化及元素访问方式与 C 语言类似,但配合 auto 关键字和范围 for 可以显著提升代码的可读性。
1. auto 关键字
auto 的主要用途是让编译器自动推导变量的类型。这在处理复杂类型或模板时非常有用,也能让范围 for 循环更加简洁。
#include <iostream>
using namespace std;
int main() {
auto a = 3.14; // 推导为 double
auto b = 100; // 推导为 int
auto c = 'x'; // 推导为 char
return 0;
}
2. 范围 for 循环详解
范围 for 是 C++11 引入的语法糖,核心作用是自动遍历「可迭代对象」的所有元素,无需手动编写索引或计算长度,从而减少越界风险。
语法格式:
// 只读遍历(元素变量是拷贝)
for (auto 元素变量 : 可迭代对象) { ... }
// 可修改元素(元素变量是引用)
for (auto& 元素变量 : 可迭代对象) { ... }
适用场景:
范围 for 能工作的核心前提是:编译器能自动获取「可迭代对象」的遍历起点和终点。
-
静态一维数组:编译器知道数组长度,可直接遍历。
int arr[5] = {1, , , , }; ( num : arr) { cout << num << ; }


