考虑以下示例:
vector<vector<char>*> *outer = new vector<vector<char>*>();
{
vector<char> *inner = new vector<char>();
inner->push_back(0);
inner->push_back(1);
inner->push_back(2);
outer->push_back(inner);
inner->push_back(3);
}
auto x = outer->at(0);
for (auto c : x) {
cout << c << ",";
}
我想遍历 vector<char>*
的值;我怎样才能做到这一点?
最佳答案
为什么不简单地取消引用 x
?
for (auto c : *x) { // Here
cout << c << ",";
}
它将通过引用获取*x
,因此不会复制。
关于c++ - C++11 中带有指向 vector 指针的基于范围的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31744125/