NULL чи nullptr?

Ці команди онулюють вказівники, бо команда delete видаляє данні, 

що знаходиться за адресою, а не сам вказівник.

Після онулення, якщо знову запустити команду delete за адресою, то помилки не буде 

nullptr - було введено в С++ 11. Він є окремим типом даних 

і компілятор не може його переплутати з іншими типами даних

int *p = new int;

*p = 10;

p = NULL;        // p = 0, це макрос #define NULL 0

NULL не підходить для функцій, перевантажених і для типу int і для вказівника