That is incorrect. The pointer is assigned whatever random value is at that memory location. For example
char *ptr;the address of ptr is whatever is at that memory location on the stack (assuming its not a global variable). It is never auto set to NULL by the compiler in either C or C++ languages.
But my C++ Book says so, by the way, why are we otherwise checking whether an assignment has failed or not using
if(ptr == NULL) ?