#include <iomanip>
#include <iostream>
#include <string>
using namespace std;
class Test
{
public:
Test(string& s) : ref(s) {}
void modify() { ref = "modified"; }
string const& get() const { return ref; }
private:
string& ref;
};
#define DBG(x) { cout << left << setw(30) << #x << (x) << endl; }
main()
{
string s = "x";
Test x(s);
DBG(x.get());
x.modify();
DBG(x.get());
}
I2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBUZXN0CnsKcHVibGljOgoJVGVzdChzdHJpbmcmIHMpIDogcmVmKHMpIHt9CgoJdm9pZCBtb2RpZnkoKSB7IHJlZiA9ICJtb2RpZmllZCI7IH0KCglzdHJpbmcgY29uc3QmIGdldCgpIGNvbnN0IHsgcmV0dXJuIHJlZjsgfQoKcHJpdmF0ZToKCglzdHJpbmcmIHJlZjsKfTsKCiNkZWZpbmUgREJHKHgpIHsgY291dCA8PCBsZWZ0IDw8IHNldHcoMzApIDw8ICN4IDw8ICh4KSA8PCBlbmRsOyB9CgptYWluKCkKewoJc3RyaW5nIHMgPSAieCI7CgoJVGVzdCB4KHMpOwoKCURCRyh4LmdldCgpKTsKCgl4Lm1vZGlmeSgpOwoKCURCRyh4LmdldCgpKTsKCQoKfQ==