c++中for auto的用法是什么

c++
小億
356
2024-05-30 14:22:13

在C++11標(biāo)準(zhǔn)之后,可以使用for循環(huán)結(jié)構(gòu)中的auto關(guān)鍵字來(lái)簡(jiǎn)化遍歷容器的操作,例如:

std::vector<int> vec = {1, 2, 3, 4, 5};

// 使用auto關(guān)鍵字遍歷容器
for (auto i : vec) {
    std::cout << i << std::endl;
}

在這個(gè)例子中,auto i會(huì)自動(dòng)推導(dǎo)出i的類(lèi)型為int,并且遍歷vec容器中的元素。這樣可以簡(jiǎn)化代碼并且使代碼更加直觀(guān)。for auto結(jié)構(gòu)也可以用于迭代器上,類(lèi)似于如下的例子:

std::map<std::string, int> myMap = { {"a", 1}, {"b", 2}, {"c", 3} };

// 使用auto關(guān)鍵字遍歷map容器中的鍵值對(duì)
for (const auto& pair : myMap) {
    std::cout << pair.first << ": " << pair.second << std::endl;
}

在這個(gè)例子中,auto& pair會(huì)自動(dòng)推導(dǎo)出pair的類(lèi)型為std::pair<const std::string, int>,并且遍歷myMap中的鍵值對(duì)。

0