#include
#include
#include
using namespace std;
template void printVector(vector vec, const string name);
int main() {
vector v1(10); // Create a vector with a capacity of 10
vector v2 = {10, 20, 30}; // Initialize with an array initializer
vector v3; // Default initialization
vector v4 = {8, 3, 1, 5, 12, 13, 2, 7, 10};
vector::size_type vsize; // size_type is an unsigned type that stores a size
v1 = {1, 2, 3, 4};
vsize = v1.size();
cout << "Vector 1 size=" << vsize << " ";
cout << "capacity=" << v1.capacity() << endl;
cout << "Vector 2 size=" << v2.size() << " ";
cout << "capacity=" << v2.capacity() << endl;
cout << "Vector 3 size=" << v3.size() << " ";
cout << "capacity=" << v3.capacity() << endl;
cout << "Vector 4 size=" << v4.size() << " ";
cout << "capacity=" << v4.capacity() << endl;
cout << endl;
cout << "Accessing the values in a vector: " << endl;
// The following is UNSAFE
cout << " Array indexing: ";
for (unsigned int ii=0; ii::iterator ii=v1.begin(); ii != v1.end(); ++ii) {
cout << (*ii) << " ";
}
cout << endl;
cout << " Using a for-each: ";
for (auto const &ii : v1) {
cout << ii << " ";
}
cout << endl;
// Modifying vector entry using array indexing
v1[4] = 5;
cout << endl << "v1[4]=5" << endl;
cout << "Vector1 size = " << v1.size() << " ";
cout << "capacity = " << v1.capacity() << endl;
cout << "Contents: " << endl;
cout << " for-each: ";
for (auto const &ii : v1) {
cout << ii << " ";
}
cout << " array-indexing: ";
for (unsigned int ii=0;ii
void printVector(vector vec, const string name) {
cout << "Vector " << name << " s=" << vec.size()
<< " c=" << vec.capacity();
cout << " contents: [ ";
for (auto const & ii : vec) {
cout << ii << " ";
}
cout << "]" << endl;
}