Как распечатать векторный массив? - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть векторный массив с именем nVectors.

vector<int>* nVectors[21];
for (int i = 1; i <= 20; i ++) {
    nVectors[i] = generateVector(i);
}

Я могу напечатать все члены одного вектора, но когда дело доходит до массива векторов, я все еще не знаю, как распечатать все векторы в массиве.

Может быть, итератор для всех членов векторного массива и печати с использованием моего предопределенного метода pvector может решить эту проблему? Но я не знаю, как перебирать в GDB.

1 Ответ

0 голосов
/ 16 декабря 2011
std::array<std::vector<int>*, 21> nVectors;

for(std::array<std::vector<int>*>::iterator i = nVectors.begin();
    i != nVectors.end();
    ++i)
{
    for(std::vector<int>::iterator it = (*i)->begin();
        it != (*i)->end();
        ++it)
    {
        std::cout << *it << " ";
    }
}

std::cout << std::endl;

Или в C ++ 11:

std::vector<int>* nVectors[21];

for(auto &i : nVectors)
{
    for(auto &it : i)
    {
        std::cout << *it << " ";
    }
}

std::cout << std::endl;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...