nullptr

ключове слово, введене в C++11 для описання константи нульового вказівника


nullptr — ключове слово, введене в C++11 для описання константи нульового вказівника. Ця константа має тип std::nullptr_t.

nullptr є константою r-value[en][1].

До введення nullptr, для обнулення вказівників використовувався макрос NULL, зі значенням 0 — цілого типу. Це викликало проблеми (наприклад, при перевантаженні функцій). Тип nullptr — std::nullptr_t, що вирішує ці проблеми. Існують неявні перетворення nullptr до нульового вказівника будь-якого типу і до bool (зі значенням false), але не до цілочисельних типів[2].

З метою забезпечення зворотної сумісності, константу 0 також можна використовувати як нульовий вказівник.

char *pc = nullptr;   // правильно
int  *pi = nullptr;   // правильно
bool  b  = nullptr;   // правильно. b = false.
int   i  = nullptr;   // помилка

foo(nullptr);         // викликає foo(char *), а не foo(int);

Примітки ред.

  1. Урок №85. Нульові вказівники. https://acode.com.ua. 
  2. Renzo (11 июня 2013). Десять возможностей C++11, которые должен использовать каждый C++ разработчик. habr. Архів оригіналу за 2 квітня 2022. Процитовано 2 квітня 2022.