Przestrzenie nazw
Warianty

std::nullptr_t

Z cppreference.com
< cpp
 
 
 
Wspierane typy
Typy podstawowe
Typy fundamentalne
Typy całkowite o ustalonej długości (C++11)
Limity numeryczne
numeric limits (interfejs C)
Informacje o typach w runtime (RTTI)
Cechy typów
Kategorie typów
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Właściwości typów
(C++11)
(C++11)
(C++14)
(C++11)
(C++11)(deprecated in C++17)
(C++11)(deprecated in C++20)
(C++11)
Type trait constants
Metafunkcje
(C++17)
Kolejność bajtów
(C++20)
Wspierane operacje
Powiązania typów i sprawdzanie własności
(C++11)
(C++11)
(C++11)
(C++11)
Modyfikacje typów
(C++11)(C++11)(C++11)
Transformacje typów
(C++11)
(C++11)
(C++17)
(C++11)(deprecated in C++17)(C++17)
 
<tbody> </tbody>
Zdefiniowane w nagłówku <cstddef>
typedef decltype(nullptr) nullptr_t;
(od C++11)

std::nullptr_t to typ literału pustego wskaźnika, nullptr. Jest osobnym typem, który sam w sobie nie jest typem wskaźnika ani wskaźnika do składowej.

Przykład

Jeśli dwa lub więcej przeładowania akceptują różne typy wskaźników, przeładowanie dla typu std::nullptr_t jest konieczne, żeby móc przekazać pusty wskaźnik jako argument.

#include <cstddef>
#include <iostream>

void f(int* pi)
{
   std::cout << "Przeladowanie dla wskaznika na liczbe calkowita\n";
}

void f(double* pd)
{
   std::cout << "Przeladowanie dla wskaznika na double\n";
}

void f(std::nullptr_t nullp)
{
   std::cout << "Przeladowanie dla pustego wskaznika\n";
}

int main()
{
    int* pi; double* pd;

    f(pi);
    f(pd);
    f(nullptr);  // niejednoznaczny zapis, bez void f(nullptr_t)
    // f(0);     // niejednoznaczne wywołanie: wszystkie trzy przeładowania osobno tutaj pasują
    // f(NULL);  // niejednoznaczne, jeśli NULL jest stałą pustego wskaźnika typu całkowitego 
                 // (tak jak to jest w większości implementacji)
}

Wynik:

Przeladowanie dla wskaznika na liczbe calkowita
Przeladowanie dla wskaznika na double
Przeladowanie dla pustego wskaznika

Zobacz też

nullptr literał wskaźnikowy, który oznacza pusty wskaźnik (C++11) [edit]
stała, oznaczająca pusty wskaźnik (zależna od implementacji)
(stała [makro]) [edit]
sprawdza, czy dany typ to std::nullptr_t
(szablon klasy) [edit]