1: //vector16.cpp
3: #include <iostream>
4: #include <vector>
5: using namespace std;
7: int main()
8: {
9: cout << "\nThis program illustrates a vector of vectors.";
10: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
12: cout << "\nWe create, populate, and then display, a vector "
13: "(of size 3) of integer vectors.\nEach \"row\" of the "
14: "\"vector of vectors\" has a different length, so the "
15: "overall\neffect is to have a two-dimensional \"jagged "
16: "array\" of integers.";
17: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
19: cout << "\nThe first row has 4 components, the second has 10, "
20: "and the third has 6:\n";
22: vector<vector<int> > v_2d;
23: //^Note this (necessary) blank space!
24: //Exercise: Check what happens if it's not there.
25: //Further note: Acually, with C++11, nothing happens
26: //since this is no longer a problem.
28: vector<int> v(4, 7);
29: v_2d.push_back(v);
30: v.assign(10, 3);
31: v_2d.push_back(v);
32: v.assign(6, 5);
33: v_2d.push_back(v);
35: for (vector<vector<int> >::size_type i=0; i<v_2d.size(); i++)
36: {
37: vector<int>::iterator p = v_2d[i].begin();
38: while (p != v_2d[i].end()) cout << *p++ << " ";
39: cout << endl;
40: }
41: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
42: }