#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();
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEVsZW1lbnQgewogIGludCB4Owp9OwoKY2xhc3MgWSB7CiAgcHJpdmF0ZToKICAgIHN0ZDo6dmVjdG9yPEVsZW1lbnQqPiBlbGVtZW50czsKICBwdWJsaWM6CiAgICB2b2lkIGFkZEVsZW1lbnQoRWxlbWVudCYgZSkgewogICAgICBlbGVtZW50cy5wdXNoX2JhY2soJmUpOwogICAgfQogICAgdm9pZCBwcmludEVsZW1lbnRzKCkgewogICAgICBmb3IoYXV0byBpdCA9IGVsZW1lbnRzLmJlZ2luKCk7IGl0IT1lbGVtZW50cy5lbmQoKTsgKytpdCkgewogICAgICAgIHN0ZDo6Y291dCA8PCAoKml0KS0+eCA8PCBzdGQ6OmVuZGw7CiAgICAgIH0KICAgIH0KfTsKCmludCBtYWluKCkgewogIEVsZW1lbnQgZSA9IHswfTsKICBZIHk7CiAgeS5hZGRFbGVtZW50KGUpOwogIHkucHJpbnRFbGVtZW50cygpOwogIGUueCA9IDEwOwogIHkucHJpbnRFbGVtZW50cygpOwp9