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

nullptr є константою .

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

З метою забезпечення зворотної сумісності, константу 0 також можна використовувати як нульовий вказівник.char *pc = nullptr; // правильно int *pi = nullptr; // правильно bool b = nullptr; // правильно. b = false. int i = nullptr; // помилка

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

Примітки