nullptr
Зовнішній вигляд
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);
- ↑ Урок №85. Нульові вказівники. https://acode.com.ua.
- ↑ Renzo (11 июня 2013). Десять возможностей C++11, которые должен использовать каждый C++ разработчик. habr. Архів оригіналу за 2 квітня 2022. Процитовано 2 квітня 2022.