#include <iostream>
#include <vector>

using namespace std;

class A {
   int i;
   // A(const A&);
public:
   typedef bool equality_should_be_overloaded;

   A(int i) : i(i) {cout << "consting " << i << endl;}
   A(const A& ot) : i(ot.i) {cout << "copying " << i << endl;}

};

int main () {
    vector<A> v1;
    v1.reserve(4);
    v1.emplace_back(1);
    v1.emplace_back(2);
    v1.emplace_back(3);
    v1.emplace_back(4);
}