This symbol seems to be a compiler generated destructor. What is the difference between this one, 'compiler generated destructor' and 'scalar deleting destructor'? Are there any other types of compiler generated ctor/dtor?
Functions named 'scalar deleting destructor'
and 'vector deleting destructor'
are helper functions created by VC compiler when generating code for delete
statement. Don't confuse them with the class destructor which also may be generated by the compiler.
The former can be expressed in pseudocode as
void scalar_deleting_destructor(A* pa)
{
pa->~A();
A::operator delete(pa);
}
and the latter as
void vector_deleting_destructor(A* pa, size_t count)
{
for (size_t i = 0; i < count; ++i)
pa[i].~A();
A::operator delete[](pa);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With