#include <vector>
#include <iostream>

struct Element {
  int x;
};

class Y {
  private:
    std::vector<Element*> elements;
  public:
    void addElement(Element& e) {
      elements.push_back(&e);
    }
    void printElements() {
      for(auto it = elements.begin(); it!=elements.end(); ++it) {
        std::cout << (*it)->x << std::endl;
      }
    }
};

int main() {
  Element e = {0};
  Y y;
  y.addElement(e);
  y.printElements();
  e.x = 10;
  y.printElements();
}