在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
中的鍵值對。