#include <iostream>
void fun1(int ** i) {
*i = new int(0);
}
void fun2(int *& i) {
i = new int(69);
}
int main()
{
using namespace std;
int* a = new int(42);
cout << "init: " << *a << endl;
fun1(&a);
cout << "fun1: " << *a << endl;
fun2(a);
cout << "fun2: " << *a << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBmdW4xKGludCAqKiBpKSB7CiAqaSA9IG5ldyBpbnQoMCk7Cn0Kdm9pZCBmdW4yKGludCAqJiBpKSB7CiAgICBpID0gbmV3IGludCg2OSk7Cn0KaW50IG1haW4oKQp7CiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgaW50KiBhID0gbmV3IGludCg0Mik7CiAgICBjb3V0IDw8ICJpbml0OiAiIDw8ICphIDw8IGVuZGw7CiAgICAKICAgIGZ1bjEoJmEpOwogICAgY291dCA8PCAiZnVuMTogIiA8PCAqYSA8PCBlbmRsOwoKICAgIGZ1bjIoYSk7CiAgICBjb3V0IDw8ICJmdW4yOiAiIDw8ICphIDw8IGVuZGw7CiAgICAKICAgIHJldHVybiAwOwp9