#include <iostream>
using namespace std;
void f1(int x)
{
x = 5;
}
void f2(const int& x)
{
const_cast<int&>(x) = 5;
}
int main()
{
int i = 0;
cout << "start: " << i << endl;
f1(i);
cout << "after f1: " << i << endl;
f2(i);
cout << "after f2: " << i << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBmMShpbnQgeCkKewoJeCA9IDU7Cn0KCnZvaWQgZjIoY29uc3QgaW50JiB4KQp7Cgljb25zdF9jYXN0PGludCY+KHgpID0gNTsKfQoKaW50IG1haW4oKQp7CglpbnQgaSA9IDA7Cgljb3V0IDw8ICJzdGFydDogIiA8PCBpIDw8IGVuZGw7CglmMShpKTsKCWNvdXQgPDwgImFmdGVyIGYxOiAiIDw8IGkgPDwgZW5kbDsKCWYyKGkpOwoJY291dCA8PCAiYWZ0ZXIgZjI6ICIgPDwgaSA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0K