#include struct holder { holder(int& x) : ref(x) {} int& ref; }; int main() { int x=1, y=3, z=3; holder h1(x); holder h2(y); holder h3(z); std::cout << "h1: " << h1.ref << std::endl; std::cout << "h2: " << h2.ref << std::endl; std::cout << "h2: " << h3.ref << std::endl; return 0; }