在C++11标准之后,可以使用for
循环结构中的auto
关键字来简化遍历容器的操作,例如:
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用auto关键字遍历容器
for (auto i : vec) {
std::cout << i << std::endl;
}
在这个例子中,auto i
会自动推导出i
的类型为int
,并且遍历vec
容器中的元素。这样可以简化代码并且使代码更加直观。for auto
结构也可以用于迭代器上,类似于如下的例子:
std::map<std::string, int> myMap = { {"a", 1}, {"b", 2}, {"c", 3} };
// 使用auto关键字遍历map容器中的键值对
for (const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
在这个例子中,auto& pair
会自动推导出pair
的类型为std::pair<const std::string, int>
,并且遍历myMap
中的键值对。