Was ist der beste Weg, um in C/C nach NULL-Zeigern zu suchen?
In einer kürzlich durchgeführten Codeüberprüfung behauptete ein Mitwirkender, dass alle NULL seien Zeigerprüfungen sollten mit einem expliziten Vergleich mit NULL durchgeführt werden:
<code class="cpp">int * some_ptr; // ... if (some_ptr == NULL) { // Handle null-pointer error } else { // Proceed }</code>
Dieser Ansatz wurde von einem anderen Gutachter abgelehnt, der argumentierte, dass die traditionelle Methode der Verwendung einer Zeigervariablen in einer if-Anweisung ebenfalls gültig und prägnant sei Möglichkeit zur Überprüfung auf NULL:
<code class="cpp">int * some_ptr; // ... if (some_ptr) { // Proceed } else { // Handle null-pointer error }</code>
. Welche Methode bevorzugen Sie und warum?
Laut der bevorzugten Antwort ist die letztere Methode aus mehreren Gründen vorzuziehen:
Zusammenfassend lässt sich sagen, dass bei der Suche nach NULL-Zeigern in C/C die bevorzugte Methode die Verwendung der idiomatischen if (ptr)- oder if (!ptr)-Syntax ist. Dieser Ansatz ist klar, prägnant und mit C-Klassen kompatibel.
Das obige ist der detaillierte Inhalt vonSollten Sie „if (ptr == NULL)' oder „if (ptr)' für Nullzeigerprüfungen in C/C verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!