A
Andrew Tomazos
Please consider...
class B
{
virtual ~B() { ... }
}
class D : B
{
virtual ~D() { ... }
}
void f()
{
void* p = malloc(sizeof(D));
new (p) D; // ...placement new
B* b = (B*) p;
b->~B(); // ...is virtual destructor in effect?
free(p);
}
When f() is executed will D::~D() be called?
Thanks,
Andrew.
class B
{
virtual ~B() { ... }
}
class D : B
{
virtual ~D() { ... }
}
void f()
{
void* p = malloc(sizeof(D));
new (p) D; // ...placement new
B* b = (B*) p;
b->~B(); // ...is virtual destructor in effect?
free(p);
}
When f() is executed will D::~D() be called?
Thanks,
Andrew.