Какой тип nullptr?

Стандарт гласит, чтоnullptr является литералом-указателем типаstd::nullptr_t (2.14.7). А 18.2p9 определяетnullptr_t по

namespace std {
  typedef decltype(nullptr) nullptr_t;
}

По 7.1.6.2p4decltype(nullptr) это тип выраженияnullptrпо определениюstd::nullptr_t (так как выражениеnullptr это prvalue). Подставляя это в определениеnullptr_t результаты в

typedef nullptr_t nullptr_t

С другой стороны, спецификатор typedef не вводит новый тип, это просто имя для другого существующего типа. Итак, что именноnullptr_t? Я не в состоянии понять эти определения.

Ответы на вопрос(2)

Ваш ответ на вопрос