#include <iostream>
#include <vector>
using namespace std;

struct Node{
    int data;
    Node(){
        data = 0;
        std::cout << "Node created. " << this <<endl;
    }
    
    Node ( const Node& other ) {
    	data = other.data;
    	std::cout << "Node copy-constructor. " <<this << " from "<<&other<<endl;
    }
    
    ~Node(){
        std::cout << "Node destroyed. " << this <<endl;
    }
};

int main() {
    vector<Node> vec;
    for(int i = 0; i < 2 ; i++)
       vec.push_back( *(new Node));
    return 0;
}