#include <iostream>
using namespace std;
struct BreakConst
{
int v;
int *p;
BreakConst() { v = 0; p = &v; }
void break_stuff() const { ++*p; }
};
void f(const BreakConst& bc) {
bc.break_stuff();
}
int main()
{
BreakConst bc;
cout << bc.v << endl; // 0
f(bc); // O:)
cout << bc.v << endl; // 1
return 0;
}
CSNpbmNsdWRlIDxpb3N0cmVhbT4KCXVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoJc3RydWN0IEJyZWFrQ29uc3QKCXsKCQlpbnQgdjsKCQlpbnQgKnA7CgkJQnJlYWtDb25zdCgpIHsgdiA9IDA7IHAgPSAmdjsgfSAKCQl2b2lkIGJyZWFrX3N0dWZmKCkgY29uc3QgeyArKypwOyB9Cgl9OwoJdm9pZCBmKGNvbnN0IEJyZWFrQ29uc3QmIGJjKSB7CgkJYmMuYnJlYWtfc3R1ZmYoKTsKCX0KCglpbnQgbWFpbigpCgl7CgkJQnJlYWtDb25zdCBiYzsKCQljb3V0IDw8IGJjLnYgPDwgZW5kbDsgICAvLyAwCgkJZihiYyk7ICAgICAgICAgICAgICAgICAgLy8gTzopCgkJY291dCA8PCBiYy52IDw8IGVuZGw7ICAgLy8gMQoKCQlyZXR1cm4gMDsKCX0=