In Effective Modern C++, "Iterm 8: Prefer nullptr to 0 and NULL.", Page 59, it says:
nullptr
's actual type isstd::nullptr_t
, and, in a wonderfully circular definition,std::nullptr_t
is defined to be the type ofnullptr
.
A wonderfully circular definition?
How that comes?
nullptr
isstd::nullptr_t
, the standard does not use it to definenullptr
. So there is no circular definition. The behavior ofnullptr
andstd::nullptr_t
are defined by various statements scattered in the standard.std::nullptr_t *
.