1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <iostream> #include <memory> #include <cstdlib> struct test { int x; std::string s; void* operator new( std::size_t size) { char * p = (char*) malloc( size ); for ( std::size_t i = 0; i < size; ++i ) { p[i] = 0xba; } return p; } void operator delete(void* p) { free(p); } }; void f() { test t; std::cout << t.x << std::endl; t.x = 5; } void g() { test t = test(); std::cout << t.x << std::endl; t.x = 5; } int main() { std::auto_ptr<test> p1( new test ); std::cout << std::hex << p1->x << std::endl; std::auto_ptr<test> p2( new test() ); std::cout << std::hex << p2->x << std::endl; f(); f(); g(); g(); } |
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PgojaW5jbHVkZSA8Y3N0ZGxpYj4KCnN0cnVjdCB0ZXN0IHsKICAgIGludCB4OwogICAgc3RkOjpzdHJpbmcgczsKCiAgICB2b2lkKiBvcGVyYXRvciBuZXcoIHN0ZDo6c2l6ZV90IHNpemUpIHsKICAgICAgICBjaGFyICogcCA9IChjaGFyKikgbWFsbG9jKCBzaXplICk7CiAgICAgICAgZm9yICggc3RkOjpzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kgKSB7CiAgICAgICAgICAgIHBbaV0gPSAweGJhOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcDsKICAgIH0KICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIHsKICAgICAgICBmcmVlKHApOwogICAgfQp9OwoKdm9pZCBmKCkgewogICAgdGVzdCB0OwogICAgc3RkOjpjb3V0IDw8IHQueCA8PCBzdGQ6OmVuZGw7CiAgICB0LnggPSA1Owp9Cgp2b2lkIGcoKSB7CiAgICB0ZXN0IHQgPSB0ZXN0KCk7CiAgICBzdGQ6OmNvdXQgPDwgdC54IDw8IHN0ZDo6ZW5kbDsKICAgIHQueCA9IDU7Cn0KCmludCBtYWluKCkgewogICAgc3RkOjphdXRvX3B0cjx0ZXN0PiBwMSggbmV3IHRlc3QgKTsKICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmhleCA8PCBwMS0+eCA8PCBzdGQ6OmVuZGw7CgogICAgc3RkOjphdXRvX3B0cjx0ZXN0PiBwMiggbmV3IHRlc3QoKSApOwogICAgc3RkOjpjb3V0IDw8IHN0ZDo6aGV4IDw8IHAyLT54IDw8IHN0ZDo6ZW5kbDsKCiAgICBmKCk7IGYoKTsKICAgIGcoKTsgZygpOwp9Cg==
-
upload with new input
-
result: Success time: 0.02s memory: 2856 kB returned value: 0
babababa babababa babababa 5 0 0


