nullptr
Ключевое слово nullptr
указывает константу указателя NULL типаstd::nullptr_t
, которая преобразуется в любой необработанный тип указателя. Хотя вы можете использовать ключевое слово nullptr
без включения заголовков, если код использует типstd::nullptr_t
, необходимо определить его, включив заголовок<cstddef>
.
Примечание.
nullptr
Ключевое слово также определен в C++/CLI для управляемых приложений кода и не взаимозаменяется с ключевое слово СТАНДАРТА ISO. Если код может быть скомпилирован с помощью /clr
параметра компилятора, который предназначен для управляемого кода, используйте __nullptr
в любой строке кода, где необходимо гарантировать, что компилятор использует собственную интерпретацию C++. Дополнительные сведения см. в статьях nullptr
(C++/CLI и C++/CX).
Замечания
Избегайте использования NULL
или нуля (0
) в качестве константы указателя null; nullptr
менее уязвимы для неправильного использования и лучше работает в большинстве ситуаций. Например, если для функции func(std::pair<const char *, double>)
произвести вызов func(std::make_pair(NULL, 3.14))
, возникнет ошибка компилятора. Макрос NULL
расширяется0
, чтобы возвращать std::pair<int, double>
вызовstd::make_pair(0, 3.14)
, который не преобразуется в 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>
.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по