跳转到内容
新建笔记

C++ 循环

循环语句,都是condition为真时进入循环,为假时跳出。

传统的for循环是for (初始化表达式; 循环条件表达式; 循环迭代表达式)。例如:

for (int i = 0; i < n; i++) {
// 循环体
}

for(i = 0; i < 9; i++) 和 for(i = 0; i < 9; ++i) 在功能上是等价的,因为递增操作符是作为循环的独立更新部分使用的,没有被包含在其他表达式中。

for(auto line : lines)是C++11中引入的一种新的for循环形式,称为基于范围的for循环(range-based for loop)。它被设计用来遍历容器(例如数组、向量、链表等)中的所有元素,而不需要使用索引或迭代器。其语法如下:

for (declaration : range_expression) {
// 循环体
}

在这里:

  • declaration 是当前范围内元素的声明,通常会使用auto关键字来自动推断元素类型。
  • range_expression 是要遍历的范围,可以是任何能够返回元素序列的表达式,例如容器或数组。

例如:

std::vector<int> v = {1, 2, 3, 4, 5};
for (auto i : v) {
std::cout << i << std::endl; // 输出向量v的所有元素
}

在这个例子中,i会依次成为v中的每一个元素的副本。如果要在循环中修改元素本身,你可以使用引用:

for (auto& i : v) {
i = 10; // 修改向量v中所有元素的值为10
}
while(condition)
{
// 先判断,再执行
}
do
{
// 先执行,再判断
} while(conditon); // 注意有分号