Подтвердить что ты не робот

Почему не 'nullptr' в пространстве имен 'std'?

Кажется, что nullptr объявлено в глобальном пространстве имен по умолчанию. Разве это не имело бы смысла для того, чтобы оно находилось в пространстве имен std?

4b9b3361

Ответ 1

nullptr - это ключевое слово С++ 11 (не отличается от if, public, true, void и т.д.), поэтому пространства имен не применяются.

Ответ 2

nullptr является литералом-указателем так же, как, например, true является булевым литералом. Этот литерал имеет тип std::nullptr_t, который, как вы видите, указан в пространстве имен std:: Литерал указателя описан в разделе 2.14.7 Литералы указателя стандарта С++.