C++;打印字符串向量数组的内容? 我不知道C++,但是需要对我继承的一些代码做一些调整。守则的一部分包括: array<vector<string>, 2> names; 数组名;
我现在尝试打印这个数组中每个向量的内容。我该怎么做呢 我知道我可以像这样迭代一个向量:C++;打印字符串向量数组的内容? 我不知道C++,但是需要对我继承的一些代码做一些调整。守则的一部分包括: array<vector<string>, 2> names; 数组名;,c++,arrays,vector,C++,Arrays,Vector,我现在尝试打印这个数组中每个向量的内容。我该怎么做呢 我知道我可以像这样迭代一个向量: for (unsigned int p=0; p<vector.size(); p++) cout << vector.at(p) << endl; for(unsigned int p=0;p就像遍历向量一样,您需要遍历数组: for (int i=0; i<2; i++) { for (unsigned int p=0; p<names[
for (unsigned int p=0; p<vector.size(); p++)
cout << vector.at(p) << endl;
for(unsigned int p=0;p就像遍历向量一样,您需要遍历数组:
for (int i=0; i<2; i++)
{
for (unsigned int p=0; p<names[i].size(); p++)
{
cout << names[i].at(p) << endl;
}
}
for(int i=0;i使用迭代器:
array<vector<string>,2> names;
for (array<vector<string>,2>::iterator i=names.begin();i!=names.end();i++)
{
for (vector<string>::iterator j=i->begin();j!=i->end();j++)
{
cout << *j << endl;
}
}
数组名;
for(数组::迭代器i=names.begin();i!=names.end();i++)
{
对于(向量::迭代器j=i->begin();j!=i->end();j++)
{
cout在C++11中,您可以非常轻松地迭代这个过程
for(auto& i : names) {
for(auto& k : i) {
std::cout << k << std::endl;
}
}
for(自动和输入:名称){
对于(自动和k:i){
std::cout一行解决方案(在这种情况下不一定更可取,因为在Rapptz的答案中,手动使用迭代,更容易阅读,但仍然很容易知道):
std::for_each(names.begin()、names.end()、[](vector&v){
复制(v.begin(),v.end(),
std::ostream_迭代器(std::cout,“\n”)});
for(auto& i : names) {
for(auto& k : i) {
std::cout << k << std::endl;
}
}
std::for_each(names.begin(), names.end(), [](vector<string>& v){
std::copy(v.begin(),v.end(),
std::ostream_iterator<string>(std::cout,"\n")});