#include <stdio.h>
#define logh(x) printf(#x": 0x%08x\n",x)
typedef unsigned char byte;
class A {
public:
A();
byte *getBufferAddress() { return buffer; };
byte *getBuffer();
private:
byte *buffer;
};
A::A() {
buffer = new byte[1024];
}
byte *A::getBuffer() {
byte bs[1024];
//copy(bs, buffer);
logh(bs);
return bs;
}
int main() {
A *a = new A();
logh(a->getBufferAddress());
logh(a->getBuffer());
delete a;
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIGxvZ2goeCkgcHJpbnRmKCN4IjogMHglMDh4XG4iLHgpCgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgYnl0ZTsKCmNsYXNzIEEgewoJcHVibGljOgoJCUEoKTsKCQlieXRlICpnZXRCdWZmZXJBZGRyZXNzKCkgeyByZXR1cm4gYnVmZmVyOyB9OwoJCWJ5dGUgKmdldEJ1ZmZlcigpOwoJcHJpdmF0ZToKCQlieXRlICpidWZmZXI7Cn07CkE6OkEoKSB7CglidWZmZXIgPSBuZXcgYnl0ZVsxMDI0XTsKfQpieXRlICpBOjpnZXRCdWZmZXIoKSB7CglieXRlIGJzWzEwMjRdOwoJLy9jb3B5KGJzLCBidWZmZXIpOwoJbG9naChicyk7CglyZXR1cm4gYnM7Cn0KCmludCBtYWluKCkgewoJQSAqYSA9IG5ldyBBKCk7CgkKCWxvZ2goYS0+Z2V0QnVmZmVyQWRkcmVzcygpKTsKCWxvZ2goYS0+Z2V0QnVmZmVyKCkpOwoJCglkZWxldGUgYTsKCQoJcmV0dXJuIDA7Cn0=