Namensräume
Varianten
Aktionen

NULL

Von cppreference.com
< cpp‎ | types
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
Definiert in Header <clocale>
Definiert in Header <cstddef>
Definiert in Header <cstdio>
Definiert in Header <cstdlib>
Definiert in Header <cstring>
Definiert im Header <ctime>
Definiert in Header <cwchar>
#define NULL /* implementierungsabhängig */

Das Makro NULL ist eine implementierungsabhängige Null-Zeiger-Konstante.

Inhalt

[bearbeiten] Mögliche Implementierung

#define NULL 0
// since C++11
#define NULL nullptr

[bearbeiten] Hinweise

In C kann das Makro NULL den Typ void* haben, aber das ist in C++ nicht erlaubt, da Null-Zeiger-Konstanten diesen Typ nicht haben dürfen.

[bearbeiten] Beispiel

#include <cstddef>
#include <iostream>
#include <type_traits>
#include <typeinfo>
 
class S;
 
int main()
{
    int* p = NULL;
    int* p2 = static_cast<std::nullptr_t>(NULL);
    void(*f)(int) = NULL;
    int S::*mp = NULL;
    void(S::*mfp)(int) = NULL;
    auto nullvar = NULL; // may trigger a warning when compiling with gcc/clang
 
    std::cout << "The type of nullvar is " << typeid(nullvar).name() << '\n';
 
    if constexpr(std::is_same_v<decltype(NULL), std::nullptr_t>)
        std::cout << "NULL implemented with type std::nullptr_t\n";
    else
        std::cout << "NULL implemented using an integral type\n";
 
    [](...){}(p, p2, f, mp, mfp); // < suppresses "unused variable" warnings
}

Mögliche Ausgabe

The type of nullvar is long
NULL implemented using an integral type

[bearbeiten] Siehe auch

nullptr (C++11) das Zeiger-Literal, das einen Null-Zeiger-Wert angibt[bearbeiten]
(C++11)
der Typ des Nullzeigerliterals nullptr
(typedef) [bearbeiten]
C-Dokumentation für NULL