Search code examples
c++arraysstdvector

Difference between declaring 2d vectors by two ways


What is difference between these two ways of declaring 2d vectors:

vector<vector<int>> b(n+n-1);

and

vector<vector<int>> b(n+n-1, vector<int>(n+n-1));


Solution

  • vector<vector<int>> b(n+n-1);
    

    Allocate a vector b with n+n-1 elements and initialize the elements with default value (a vector with zero elements).

    vector<vector<int>> b(n+n-1, vector<int>(n+n-1));
    

    Allocate a vector b with n+n-1 elements and initialize the elements with the specified value (a vector with n+n-1 elemements).