传统for循环通过初始化、条件判断和迭代表达式控制循环,适用于已知次数或索引访问场景。

在C++中,for循环是一种常用的控制结构,用于重复执行一段代码。随着C++标准的发展,for循环的写法也不断演进,从传统的计数循环到现代的范围遍历,提供了多种灵活的使用方式。以下是C++中常见的几种for循环写法及其使用场景。
这是最经典的for循环形式,适用于已知循环次数或需要通过索引访问容器元素的情况。
for (int i = 0; i < 10; ++i) {
std::cout << i << " ";
}
说明:
这种写法常用于数组、vector等通过下标访问的场景。
立即学习“C++免费学习笔记(深入)”;
C++11引入了基于范围的for循环(range-based for),简化了对容器或数组的遍历。
std::vector<int> nums = {1, 2, 3, 4, 5};
for (int n : nums) {
std::cout << n << " ";
}
说明:
n 是容器中每个元素的副本。
for (const int& n : nums) { // 只读访问,避免拷贝
std::cout << n << " ";
}
for (int& n : nums) { // 允许修改原元素
n *= 2;
}
此写法简洁安全,推荐用于遍历STL容器、数组等支持范围迭代的类型。
当需要更精细控制遍历过程(如反向遍历、跳过元素)时,可显式使用迭代器。
std::vector<int> nums = {10, 20, 30};
for (auto it = nums.begin(); it != nums.end(); ++it) {
std::cout << *it << " ";
}
说明:
begin() 指向首元素,end() 指向末尾后一位。*it 访问当前元素。for循环的三个表达式均可省略,形成类似while的效果。
int i = 0;
for (; i < 5; ) {
std::cout << i << " ";
++i;
}
甚至可以写成无限循环:
for (;;) {
// 相当于 while(true)
if (some_condition) break;
}
注意:省略条件时需确保循环体内有退出机制,避免死循环。
有时需要同时控制多个变量,可在for中用逗号分隔。
for (int i = 0, j = 10; i < j; ++i, --j) {
std::cout << i << "," << j << " ";
}
输出:0,10 1,9 2,8 3,7 4,6
适用于双指针、对称遍历等场景。
基本上就这些常见写法。选择哪种for循环取决于具体需求:简单遍历用范围for,需要索引用传统for,复杂控制用迭代器。掌握这些形式能让你的C++代码更清晰高效。
以上就是c++++中for循环的几种写法_c++ for循环使用教程的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号