Heim > Backend-Entwicklung > C++ > Ist es sicher, mit „if(pointer)' anstelle von „if(pointer != NULL)' nach Nicht-Null-Zeigern zu suchen?

Ist es sicher, mit „if(pointer)' anstelle von „if(pointer != NULL)' nach Nicht-Null-Zeigern zu suchen?

Barbara Streisand
Freigeben: 2024-11-04 01:01:03
Original
826 Leute haben es durchsucht

Is it Safe to Check for Non-Null Pointers with `if(pointer)` Instead of `if(pointer != NULL)`?

Überprüfung auf Nicht-Null-Zeiger: if(pointer) vs. if(pointer != NULL)

Frage:

Ist es akzeptabel, den Nicht-Null-Status eines Zeigers mithilfe von if(pointer) anstelle des herkömmlichen if(pointer != NULL) zu überprüfen?

Antwort:

Ja, das ist zulässig. Die Verwendung von if(pointer) ist sicher, da der Nullzeiger implizit in den booleschen Wert „false“ konvertiert wird, während Nicht-Null-Zeiger in „true“ konvertiert werden. Dieses Verhalten ist im C 11-Standard im Abschnitt über boolesche Konvertierungen definiert:

„Ein Wert vom Typ Arithmetik, nicht begrenzte Aufzählung, Zeiger oder Zeiger auf den Elementtyp kann in einen Wert vom Typ bool konvertiert werden. Eine Null.“ value, null pointer value oder null member pointer value wird in „false“ konvertiert; jeder andere Wert wird in „true“ konvertiert. Ein Wert vom Typ „std::nullptr_t“ kann in einen Wert vom Typ „bool“ konvertiert werden 🎜>

Das obige ist der detaillierte Inhalt vonIst es sicher, mit „if(pointer)' anstelle von „if(pointer != NULL)' nach Nicht-Null-Zeigern zu suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage