Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;打印字符串向量数组的内容? 我不知道C++,但是需要对我继承的一些代码做一些调整。守则的一部分包括: array<vector<string>, 2> names; 数组名;_C++_Arrays_Vector - Fatal编程技术网

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")});