Norma określa, w §2.14.7.1, że:
Wskaźnik dosłowny jest kluczowe nullptr
. Jest to prvalue typu std::nullptr_t
. [Uwaga: std::nullptr_t
jest odrębnym typem, który nie jest ani typem wskaźnika, ani wskaźnikiem do typu elementu; raczej prwartością tego typu jest stała wskaźnika pustego i może zostać przekonwertowana na wartość wskaźnika pustego lub wartość wskaźnika elementu zerowego. -endnote]
Jedynym prvalue typu nullptr_t
jest nullptr
który następnie przekształca się w inny typ wskaźnika kierując się zasadami określonymi w §4.10 i §4.11.
Inne literałami całkowita może być przekształcany do wartości typu std::nullptr_t
według §4.10.1:
null stały wskaźnik jest liczbą całkowitą dosłownym (2.14.2) o wartości zero lub prvalue typu std::nullptr_t
.
W związku z tym można użyć literału pośredniego o wartości zero lub nullptr
.
szczególności:
0
0u
, 0U
0l
, 0L
0ul
, 0uL
, 0Ul
, 0UL
0ll
, 0LL
0ull
, 0uLL
, 0ULL
nullptr
NULL
I może brakować niektórych przypadkach tak spadał swobodnie mnie poprawić.
Tak. Zobacz np. [this 'std :: nullptr_t' reference] (http://en.cppreference.com/w/cpp/types/nullptr_t). –
Teraz zastanawiam się, czy 'std :: nullpr_t()' jest poprawnym wyrażeniem. Nie widzę, dlaczego nie, więc to byłaby inna opcja. – MSalters