📅  最后修改于: 2023-12-03 15:14:01.897000             🧑  作者: Mango
基于范围的for循环是C++11引入的一种新的for循环方式,它可以简化代码,使代码更加易读。在基于范围的for循环中,可以使用不同类型的迭代器来迭代不同类型的容器。本文将介绍C++中常用的几种基于范围的for循环迭代器。
迭代器是一种C++中用来遍历容器中元素的工具,它提供了遍历容器中元素的能力。迭代器有多种类型,每种类型都提供不同的操作。下面列出了一些常用的迭代器类型:
基于范围的for循环迭代器是一种语法糖,用于遍历容器中的元素。下面是一些常用的基于范围的for循环迭代器:
对于vector容器,可以使用auto类型的迭代器来遍历容器中的元素,示例代码如下:
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v = { 1, 2, 3, 4, 5 };
for (auto it : v)
{
std::cout << it << ' ';
}
return 0;
}
对于string容器,也可以使用auto类型的迭代器来遍历容器中的元素,示例代码如下:
#include <iostream>
#include <string>
int main()
{
std::string s = "hello";
for (auto it : s)
{
std::cout << it << ' ';
}
return 0;
}
对于数组,可以使用auto类型的迭代器来遍历数组中的元素,示例代码如下:
#include <iostream>
int main()
{
int a[] = { 1, 2, 3, 4, 5 };
for (auto it : a)
{
std::cout << it << ' ';
}
return 0;
}
对于map容器,可以使用auto类型的迭代器来遍历容器中的元素,示例代码如下:
#include <iostream>
#include <map>
int main()
{
std::map<int, std::string> m = { { 1, "one" }, { 2, "two" }, { 3, "three" } };
for (auto it : m)
{
std::cout << it.first << ": " << it.second << std::endl;
}
return 0;
}
基于范围的for循环迭代器是一种方便的遍历元素的方法,可以使代码更加简洁易读。在不同容器类型中,可以使用不同类型的迭代器来遍历容器中的元素。迭代器类型的选择要根据容器类型来确定。