#include <iostream>
#include <vector>
using namespace std;
void show(const char *msg, vector<int> vect);
int main() {
// Declare a vector that has an initial capacity of 10.
vector<int> v(10);
for(unsigned i=0; i < v.size(); ++i) v[i] = i*i;
// Create an empty vector and then assign it a sequence that is the reverse of v.
vector<int> v3;
v3.assign(v.rbegin(), v.rend());
show("v3 contains the reverse of v: ", v3);
// Show the size and capacity of v.
cout << "Size of v is " << v.size() << ". The capacity is " << v.capacity() << ".\n";
// Now, resize v.
v.resize(20);
cout << "After calling resize(20), the size of v is "
<< v.size() << " and the capacity is "
<< v.capacity() << ".\n";
// Now, reserve space for 50 elements.
v.reserve(50);
cout << "After calling reserve(50), the size of v is "
<< v.size() << " and the capacity is "
<< v.capacity() << ".\n";
return 0;
}
void show(const char *msg, vector<int> vect) {
cout << msg << endl;
for(unsigned i=0; i < vect.size(); ++i)
cout << vect[i] << endl;
}