C++/Size of a 2d vector

pandoragami picture pandoragami · Dec 26, 2010 · Viewed 68.8k times · Source

How do I find the size of a 2 dimensional vector? So far I have the following code which doesn't compile.

#include <iostream>
#include <vector>

using namespace std;

int main()
{

    vector < vector <int> > v2d;

    for (int x = 0; x < 3; x++)
    {
        for (int y = 0; y < 5; y++)
        {
            v2d.push_back(vector <int> ());
            v2d[x].push_back(y);
        }
    }

    cout<<v2d[0].size()<<endl;
    cout<<v2d[0][0].size()<<endl;

    return 0;
}

Answer

Shamim Hafiz picture Shamim Hafiz · Dec 26, 2010

To get the size of v2d, simply use v2d.size(). For size of each vector inside v2d, use v2d[k].size().

Note: for getting the whole size of v2d, sum up the size of each individual vector, as each vector has its own size.