nullptr

Обозначает константу-указатель NULL типа std::nullptr_t, которая может быть преобразована к любому типу необработанного указателя. Хотя ключевое слово nullptr можно использовать без включения каких-либо заголовков, но если в коде используется тип std::nullptr_t, необходимо определить его, включив заголовок <cstddef>.

Примечание

Ключевое слово nullptr также определено в языке C++/CLI для приложений управляемого кода, и оно не взаимозаменяемо с ключевым словом языка C++ стандарта ISO.Если код может компилироваться с использованием параметра компилятора /clr, который нацелен на управляемый код, используйте __nullptr во всех строках кода, в которых необходимо гарантировать, чтобы компилятор использовал собственную интерпретацию C++.Дополнительные сведения см. в разделе nullptr.

Заметки

Не следует использовать значение NULL или ноль (0) в качестве константы-указателя null; ключевое слово nullptr менее уязвимо для неправильного использования и лучше работает в большинстве случаев. Например, если для функции func(std::pair<const char *, double>) произвести вызов func(std::make_pair(NULL, 3.14)), возникнет ошибка компилятора. Макрос NULL разворачивается в 0, поэтому вызов std::make_pair(0, 3.14) возвращает значение std::pair<int, double>, которое невозможно преобразовать к типу параметра std::pair<const char *, double> функции func(). Вызов func(std::make_pair(nullptr, 3.14)) успешно компилируется, поскольку std::make_pair(nullptr, 3.14) возвращает значение std::pair<std::nullptr_t, double>, которое допускает преобразование в тип std::pair<const char *, double>.

См. также

Ссылки

Ключевые слова в C++

nullptr