如何在c ++中打印出嵌套向量的内容?

时间:2017-02-21 10:45:43

标签: c++ vector stdvector

以下是有疑问的片段:

typedef std::vector<unsigned char> QInput; // defined in an external library

std::vector<QInput> extvec; // defined in a separate function

问题1: extvec是嵌套向量吗?

问题2:如何打印extvec的内容?

我尝试使用StackOverflow上许多答案中描述的传统方法打印出extvec的内容,但是我遇到了很多错误。所以我决定这可能是一个嵌套的向量。但是表单看起来与this等其他问题不同。

2 个答案:

答案 0 :(得分:5)

extvec是嵌套向量吗?
是的,你可以想象那样但不是正式的术语。

如何打印出extvec的内容?

在c ++ 98中:

for (std::vector<QInput>::iterator it = extvec.begin(); it != extvec.end(); ++it)
    {
        for (vector<unsigned char>::iterator it1 = (*it).begin(); it1 != (*it).end(); ++it1)
        {
            cout << *it1 << endl;
        }
    }

在c ++ 11 std:

for (const auto& v : extvec)
{
    for (auto i : v)
    {
        cout << i << endl;
    }
}

答案 1 :(得分:4)

  

extvec是嵌套向量吗?

没有“嵌套矢量”这样的东西。它是矢量的载体。

  

如何打印出extvec的内容?

迭代其中的向量。