gpt4 book ai didi

c++ - 在 vector 的 vector 上具有自动类型的 for 循环

转载 作者:行者123 更新时间:2023-12-02 09:49:28 32 4
gpt4 key购买 nike

在新版本的 c++ 中,使用 auto 作为循环的类型和范围基础非常方便

// instead of
for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
}
// to do
for (auto vi: v) {
}


我如何将它用于 vector<vector<int>> ?
当我尝试
for (const auto& vi: vvi) {

}

编译器提示:使用推导类型“const auto”声明变量“vi”需要初始化程序。

更新:
结果一切正常,我只是打了一个愚蠢的错字并在变量名而不是类型 for (const auto vi&: vvi) 之后放了 '&' ;我使用 & 来避免在循环的每次迭代中创建新变量。

最佳答案

您可以使用 2 作为范围:

for (const auto& inner: vvi) { // auto is std::vector<int>
for (auto e: inner) { // auto is int
std::cout << e << " ";
}
std::cout << std::endl;
}

关于c++ - 在 vector 的 vector 上具有自动类型的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61425187/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com