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 | #include <iostream> class empty { }; class empty_one : public empty {}; class empty_two : public empty {}; class non_empty : public empty_one , public empty_two { }; int main() { std::cout << "sizeof(empty): " << sizeof(empty) << std::endl; std::cout << "sizeof(empty_one): " << sizeof(empty_one) << std::endl; std::cout << "sizeof(empty_two): " << sizeof(empty_two) << std::endl; std::cout << "sizeof(non_empty): " << sizeof(non_empty) << std::endl; std::cout << std::endl; non_empty a[2]; void* pe10 = static_cast<empty*>(static_cast<empty_one*>(&a[0])); void* pe20 = static_cast<empty*>(static_cast<empty_two*>(&a[0])); std::cout << "address of non_empty[0]: " << &a[0] << std::endl; std::cout << "address of empty of empty_one: " << pe10 << std::endl; std::cout << "address of empty of empty_two: " << pe20 << std::endl; std::cout << std::endl; void* pe11 = static_cast<empty*>(static_cast<empty_one*>(&a[1])); void* pe21 = static_cast<empty*>(static_cast<empty_two*>(&a[1])); std::cout << "address of non_empty[1]: " << &a[1] << std::endl; std::cout << "address of empty of empty_one: " << pe11 << std::endl; std::cout << "address of empty of empty_two: " << pe21 << std::endl; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgZW1wdHkKewp9OwoKY2xhc3MgZW1wdHlfb25lIDogcHVibGljIGVtcHR5IHt9OwpjbGFzcyBlbXB0eV90d28gOiBwdWJsaWMgZW1wdHkge307CgpjbGFzcyBub25fZW1wdHkKICAgIDogcHVibGljIGVtcHR5X29uZQogICAgLCBwdWJsaWMgZW1wdHlfdHdvCnsKfTsKCmludCBtYWluKCkKewogICAgc3RkOjpjb3V0IDw8ICJzaXplb2YoZW1wdHkpOiAiIDw8IHNpemVvZihlbXB0eSkgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8ICJzaXplb2YoZW1wdHlfb25lKTogIiA8PCBzaXplb2YoZW1wdHlfb25lKSA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgInNpemVvZihlbXB0eV90d28pOiAiIDw8IHNpemVvZihlbXB0eV90d28pIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCAic2l6ZW9mKG5vbl9lbXB0eSk6ICIgPDwgc2l6ZW9mKG5vbl9lbXB0eSkgPDwgc3RkOjplbmRsOwoKICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CgogICAgbm9uX2VtcHR5IGFbMl07CgogICAgdm9pZCogcGUxMCA9IHN0YXRpY19jYXN0PGVtcHR5Kj4oc3RhdGljX2Nhc3Q8ZW1wdHlfb25lKj4oJmFbMF0pKTsKICAgIHZvaWQqIHBlMjAgPSBzdGF0aWNfY2FzdDxlbXB0eSo+KHN0YXRpY19jYXN0PGVtcHR5X3R3byo+KCZhWzBdKSk7CiAgICBzdGQ6OmNvdXQgPDwgImFkZHJlc3Mgb2Ygbm9uX2VtcHR5WzBdOiAiIDw8ICZhWzBdIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCAiYWRkcmVzcyBvZiBlbXB0eSBvZiBlbXB0eV9vbmU6ICIgPDwgcGUxMCA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgImFkZHJlc3Mgb2YgZW1wdHkgb2YgZW1wdHlfdHdvOiAiIDw8IHBlMjAgPDwgc3RkOjplbmRsOwoKICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CgogICAgdm9pZCogcGUxMSA9IHN0YXRpY19jYXN0PGVtcHR5Kj4oc3RhdGljX2Nhc3Q8ZW1wdHlfb25lKj4oJmFbMV0pKTsKICAgIHZvaWQqIHBlMjEgPSBzdGF0aWNfY2FzdDxlbXB0eSo+KHN0YXRpY19jYXN0PGVtcHR5X3R3byo+KCZhWzFdKSk7CiAgICBzdGQ6OmNvdXQgPDwgImFkZHJlc3Mgb2Ygbm9uX2VtcHR5WzFdOiAiIDw8ICZhWzFdIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCAiYWRkcmVzcyBvZiBlbXB0eSBvZiBlbXB0eV9vbmU6ICIgPDwgcGUxMSA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgImFkZHJlc3Mgb2YgZW1wdHkgb2YgZW1wdHlfdHdvOiAiIDw8IHBlMjEgPDwgc3RkOjplbmRsOwp9
-
upload with new input
-
result: Success time: 0s memory: 2724 kB returned value: 0
sizeof(empty): 1 sizeof(empty_one): 1 sizeof(empty_two): 1 sizeof(non_empty): 2 address of non_empty[0]: 0xbfb83420 address of empty of empty_one: 0xbfb83420 address of empty of empty_two: 0xbfb83421 address of non_empty[1]: 0xbfb83422 address of empty of empty_one: 0xbfb83422 address of empty of empty_two: 0xbfb83423


