#include <stdio.h>
#include <string.h>
#include <memory.h>
#include <new>
class Base
{
public:
virtual void Bar() { printf("bar()"); }
};
class Test : public Base
{
public:
Test() : m_Name("") {}
Test(const char *string) : m_Name(string) { }
const char *m_Name;
};
int main()
{
const char *hello = "Hello world";
Test * test = new Test(hello);
Test two;
new (&two) Test(hello);
printf("Comparison: %d", memcmp(test, &two, sizeof(Test)));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPG1lbW9yeS5oPgojaW5jbHVkZSA8bmV3PgoKY2xhc3MgQmFzZQp7CnB1YmxpYzoKICAgIHZpcnR1YWwgdm9pZCBCYXIoKSB7IHByaW50ZigiYmFyKCkiKTsgfQp9OwoKY2xhc3MgVGVzdCA6IHB1YmxpYyBCYXNlCnsKcHVibGljOgogIFRlc3QoKSA6IG1fTmFtZSgiIikge30KICBUZXN0KGNvbnN0IGNoYXIgKnN0cmluZykgOiBtX05hbWUoc3RyaW5nKSAgeyB9CiAgCiAgY29uc3QgY2hhciAqbV9OYW1lOwp9OwogCmludCBtYWluKCkKewogICAgY29uc3QgY2hhciAqaGVsbG8gPSAiSGVsbG8gd29ybGQiOwogICAgVGVzdCAqIHRlc3QgPSBuZXcgVGVzdChoZWxsbyk7CiAgICBUZXN0IHR3bzsKICAgIG5ldyAoJnR3bykgVGVzdChoZWxsbyk7CiAgICAKICAgIHByaW50ZigiQ29tcGFyaXNvbjogJWQiLCBtZW1jbXAodGVzdCwgJnR3bywgc2l6ZW9mKFRlc3QpKSk7CiAgICAKICAgIHJldHVybiAwOwp9