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 44 45 46 | #include <iostream> struct Foo { void* address; bool testFlag; Foo ( ) : address(NULL), testFlag(false) { std::cout << "Foo default constructor called" << std::endl; } explicit Foo (bool Flag) : address(NULL), testFlag(Flag) { std::cout << "Foo (bool) constructor called" << std::endl; } explicit Foo (void* Pointer) : address(Pointer), testFlag(false) { std::cout << "Foo (void const*) constructor called" << std::endl; } Foo (void* Pointer, bool Flag) : address(Pointer), testFlag(Flag) { std::cout << "Foo (void*, bool) constructor called" << std::endl; } }; int main(void) { std::size_t* test = new std::size_t; Foo a (test); std::cout << a.address << ' ' << a.testFlag << std::endl; Foo b (false); std::cout << b.address << ' ' << b.testFlag << std::endl; Foo c (true); std::cout << c.address << ' ' << c.testFlag << std::endl; Foo d; std::cout << d.address << ' ' << d.testFlag << std::endl; Foo e (test, true); std::cout << e.address << ' ' << e.testFlag << std::endl; delete test; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEZvbwp7CiAgICB2b2lkKiBhZGRyZXNzOwogICAgYm9vbCB0ZXN0RmxhZzsKICAgIAogICAgRm9vICggKSA6IGFkZHJlc3MoTlVMTCksIHRlc3RGbGFnKGZhbHNlKQogICAgewogICAgICAgIHN0ZDo6Y291dCA8PCAiRm9vIGRlZmF1bHQgY29uc3RydWN0b3IgY2FsbGVkIiA8PCBzdGQ6OmVuZGw7CiAgICB9CiAgICBleHBsaWNpdCBGb28gKGJvb2wgRmxhZykgOiBhZGRyZXNzKE5VTEwpLCB0ZXN0RmxhZyhGbGFnKQogICAgewogICAgICAgIHN0ZDo6Y291dCA8PCAiRm9vIChib29sKSBjb25zdHJ1Y3RvciBjYWxsZWQiIDw8IHN0ZDo6ZW5kbDsKICAgIH0KICAgIGV4cGxpY2l0IEZvbyAodm9pZCogUG9pbnRlcikgOiBhZGRyZXNzKFBvaW50ZXIpLCB0ZXN0RmxhZyhmYWxzZSkKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgIkZvbyAodm9pZCBjb25zdCopIGNvbnN0cnVjdG9yIGNhbGxlZCIgPDwgc3RkOjplbmRsOwogICAgfQogICAgRm9vICh2b2lkKiBQb2ludGVyLCBib29sIEZsYWcpIDogYWRkcmVzcyhQb2ludGVyKSwgdGVzdEZsYWcoRmxhZykKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgIkZvbyAodm9pZCosIGJvb2wpIGNvbnN0cnVjdG9yIGNhbGxlZCIgPDwgc3RkOjplbmRsOwogICAgfQp9OwoKaW50IG1haW4odm9pZCkKewogICAgc3RkOjpzaXplX3QqIHRlc3QgPSBuZXcgc3RkOjpzaXplX3Q7CiAgICAKICAgIEZvbyBhICh0ZXN0KTsKICAgIHN0ZDo6Y291dCA8PCBhLmFkZHJlc3MgPDwgJyAnIDw8IGEudGVzdEZsYWcgPDwgc3RkOjplbmRsOwogICAgCiAgICBGb28gYiAoZmFsc2UpOwogICAgc3RkOjpjb3V0IDw8IGIuYWRkcmVzcyA8PCAnICcgPDwgYi50ZXN0RmxhZyA8PCBzdGQ6OmVuZGw7CiAgICAKICAgIEZvbyBjICh0cnVlKTsKICAgIHN0ZDo6Y291dCA8PCBjLmFkZHJlc3MgPDwgJyAnIDw8IGMudGVzdEZsYWcgPDwgc3RkOjplbmRsOwogICAgCiAgICBGb28gZDsKICAgIHN0ZDo6Y291dCA8PCBkLmFkZHJlc3MgPDwgJyAnIDw8IGQudGVzdEZsYWcgPDwgc3RkOjplbmRsOwogICAgCiAgICBGb28gZSAodGVzdCwgdHJ1ZSk7CiAgICBzdGQ6OmNvdXQgPDwgZS5hZGRyZXNzIDw8ICcgJyA8PCBlLnRlc3RGbGFnIDw8IHN0ZDo6ZW5kbDsKICAgIAogICAgZGVsZXRlIHRlc3Q7Cn0=
-
upload with new input
-
result: Success time: 0s memory: 3016 kB returned value: 0
Foo (void const*) constructor called 0x8439008 0 Foo (bool) constructor called 0 0 Foo (bool) constructor called 0 1 Foo default constructor called 0 0 Foo (void*, bool) constructor called 0x8439008 1


