Null Pointer
This lesson highlights the key features of the null pointer.
We'll cover the following...
We'll cover the following...
Before C++11, 0 was often used to represent an empty or null value when the NULL macro was not applicable. The issue with the literal 0 is that it can be the null pointer (void*)0 or the number 0. This is defined by the context.
Therefore, a small program with the number 0 should be confusing.
C++
#include <iostream>#include <typeinfo>int main(){std::cout << std::endl;int a= 0;int* b= 0;auto c= 0;std::cout << typeid(c).name() << std::endl;auto res= a+b+c;std::cout << "res: " << res << std::endl;std::cout << typeid(res).name() << std::endl;}
The variable c is of type int, and the variable res is of type pointer to int: int*. Pretty simple, right? The expression a+b+c in line ...