Przestrzenie nazw
Warianty
Działania

nullptr, literał wskaźnikowy

Z cppreference.com
< cpp‎ | language
 
 
 
 

Spis treści

[edytuj] Składnia

nullptr (od C++11)

[edytuj] Wyjaśnienie

Słowo kluczowe nullptr to literał wskaźnikowy. Jest ono prwartością typu std::nullptr_t. Istnieją niejawne konwersje z nullptr do pustego wskaźnika dowolnego typu, oraz do dowolnego pustego wskaźnika do składowej. Te same konwersje istnieją dla każdej stałej pustego wskaźnika, czyli tak jak dla std::nullptr_t tak samo dla makro NULL.

[edytuj] Przykład

Przedstawia jak nullptr pozwala przekazywać dalej przy użyciu szablonu funkcji.

#include <cstddef>
#include <iostream>
 
template<class F, class A>
void Fwd(F f, A a)
{
    f(a);
}
 
void g(int* i)
{
    std::cout << "Funkcja g wywolana\n";
}
 
int main()
{
    g(NULL);           // OK
    g(0);              // OK
 
    Fwd(g, nullptr);   // OK
//  Fwd(g, NULL);      // ERROR: brak funkcji g(int)
}

Wynik:

Funkcja g wywolana
Funkcja g wywolana
Funkcja g wywolana

[edytuj] Słowa kluczowe

nullptr

[edytuj] Zobacz także

stała, oznaczająca pusty wskaźnik (zależna od implementacji)
(stała [makro]) [edit]
(C++11)
typ literału pustego wskaźnika nullptr
(typedef) [edit]

[edytuj] Odnośniki

  • standard C++11 (ISO/IEC 14882:2011):
  • 4.10 Pointer conversions [conv.ptr]