[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 300
  • Last Modified:

Array of vectors containing integers

Hello experts,

I would like to have 2D array containing lists of integers.

I tried this one:

std::vector<int> linesGrid [64, 48];

but it does not compile.

What do I do wrong?

Thank you

panJames
0
panJames
Asked:
panJames
  • 2
  • 2
1 Solution
 
Infinity08Commented:
If you want to do that with vectors, you'll need a definition that looks somewhat like this :
std::vector<std::vector<int> > linesGrid(64, std::vector<int>(48));

Open in new window

0
 
panJamesAuthor Commented:
WOW!

I am trying to get my head around it.

1. std::vector<std::vector<int>> linesGrid;

It my understanding: linesGrid is the list of (list of integers)

2. linesGrid(64, std::vector<int>(48));

In my understanding it looks like a function call with two variables where the second one is again a function???

I am so confused here... :(

panJames
0
 
Infinity08Commented:
>> It my understanding: linesGrid is the list of (list of integers)

More accurately : a vector of vectors of ints.


>> In my understanding it looks like a function call with two variables where the second one is again a function???

It's calling the constructor of std::vector, where the first argument is the amount of items you want in the vector, and the second argument is how those items should be initialized.

Refer to :

        http://www.cplusplus.com/reference/stl/vector/vector/
0
 
sarabandeCommented:
the point is that std::vector is a 1d-array. to get a 2d-array you do a vector of row vectors.

Sara

0
 
sarabandeCommented:
actually it is not really a grid like int grid[64][48]  cause each row vector individually could grow or shrink. but if you do an initialisation like infinity08 showed and don't do a push_back or erase on any of the row vectors you pretty well have the same behavior than with a fixed-sized int 2d-array.

Sara
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now