#include <iostream>
using namespace std;
// 'const' means *you* can't change the value
// It does not mean the value cannot change
void f(const int& x, int* y)
{
cout << "x = " << x << endl;
*y = 5;
cout << "x = " << x << endl;
}
int main()
{
int x = 10;
f(x, &x);
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAKICAgIC8vICdjb25zdCcgbWVhbnMgKnlvdSogY2FuJ3QgY2hhbmdlIHRoZSB2YWx1ZQogICAgLy8gSXQgZG9lcyBub3QgbWVhbiB0aGUgdmFsdWUgY2Fubm90IGNoYW5nZQogICAgCiAgICB2b2lkIGYoY29uc3QgaW50JiB4LCBpbnQqIHkpCiAgICB7CiAgICAgICAgY291dCA8PCAieCA9ICIgPDwgeCA8PCBlbmRsOwogICAgICAgICp5ID0gNTsKICAgICAgICBjb3V0IDw8ICJ4ID0gIiA8PCB4IDw8IGVuZGw7CiAgICB9CiAgICAgCiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAgICAgaW50IHggPSAxMDsKICAgICAgICBmKHgsICZ4KTsKICAgIH0K