Ответ 1
В С++ 11 они хотели добавить ключевое слово, чтобы заменить макрос NULL
(который в основном определяется как #define NULL 0
), так как он является основной концепцией и из-за некоторых раздражающих ошибок, которые вы получаете, когда вы вынуждены использовать 0
как константу нулевого указателя.
Несколько ключевых слов, где предлагается. Большие кодовые базы, в которых выполняется поиск, чтобы гарантировать, что ключевое слово не используется, и что оно все еще описано, что они хотят (константа нулевого указателя).
nullptr
оказалось достаточно редким и достаточно запоминающимся.
Типу nullptr
по умолчанию не присвоено имя ключевого слова, потому что это не было обязательным для большинства программ. Вы можете получить его через decltype(nullptr)
или включить заголовок std
и используя std::nullptr_t
.