Share to: share facebook share twitter share wa share telegram print page

 

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);

Примітки

  1. Урок №85. Нульові вказівники. https://acode.com.ua. {{cite web}}: Зовнішнє посилання в |website= (довідка)
  2. Renzo (11 июня 2013). Десять возможностей C++11, которые должен использовать каждый C++ разработчик. habr. Архів оригіналу за 2 квітня 2022. Процитовано 2 квітня 2022.
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya