#include <iostream>
using namespace std;
int main() {
int* ptr = new int(2);
int& i = *ptr;
std::cout<<i<<std::endl; //prints 2
ptr = new int(3); //now ptr points to another address
std::cout<<*ptr<<std::endl; //prints 3
std::cout<<i<<std::endl; //still prints 2!
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQqIHB0ciA9IG5ldyBpbnQoMik7CglpbnQmIGkgPSAqcHRyOwoJc3RkOjpjb3V0PDxpPDxzdGQ6OmVuZGw7IC8vcHJpbnRzIDIKCXB0ciA9IG5ldyBpbnQoMyk7IC8vbm93IHB0ciBwb2ludHMgdG8gYW5vdGhlciBhZGRyZXNzCglzdGQ6OmNvdXQ8PCpwdHI8PHN0ZDo6ZW5kbDsgLy9wcmludHMgMwoJc3RkOjpjb3V0PDxpPDxzdGQ6OmVuZGw7IC8vc3RpbGwgcHJpbnRzIDIhCiAgICByZXR1cm4gMDsKfQ==