nullptr, literał wskaźnikowy
Z cppreference.com
Składnia
| nullptr | (od C++11) | ||||||||
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.
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
Słowa kluczowe
Zobacz także
| stała, oznaczająca pusty wskaźnik (zależna od implementacji) (stała [makro]) | |
(C++11) |
typ literału pustego wskaźnika nullptr (typedef) |
Odnośniki
- standard C++11 (ISO/IEC 14882:2011):
- 4.10 Pointer conversions [conv.ptr]