Why instance of class with user defined destructor has member pointer set to zero and class without user-defined destructor does not set default pointer value?
#include <stdio.h>
struct A
{
int *p;
~A(){};
};
struct B
{
int *p;
};
int main()
{
A a;
printf("a.p=%p\n", a.p);
B b;
printf("b.p=%p\n", b.p);
}
The output is:
a.p=00000000
b.p=7667ADF9
*using gcc version 3.4.5 (mingw-vista special r3).