ich irgendBeispielCode bin auf der Suche, die die Frage beantwortet: Entfernen Sie alle Elemente aus einer verknüpften Liste von ganzen Zahlen, die den Wert val haben.C++ Syntax Fragen (verkettete Liste)
Die erste Zeile des Codes ist if (!head) return NULL;
. Was bedeutet die (!head)
? Ich nehme an, es bedeutet (head == NULL)
, aber ist dieser Standard für jederzeit ich so etwas wie (head == NULL)
sagen möchte?
while (h->next){
if (h->next->val == val){
h->next = h->next->next;
Für diesen Abschnitt des Codes, warum ist es in Ordnung, nicht schließen die != NULL
Teil? (z.B. (h->next != NULL)
) Ist dieser Teil in der Aussage impliziert, ohne dies explizit angeben zu müssen?
Es bedeutet den Ausdruck negieren. Sie könnten es als NICHT denken. Hier geht es nicht um eine verknüpfte Liste. Die meisten Sprachen haben diesen unären Operator. –
Dies sind C++ - Grundlagen. Sie sollten in der Lage sein, eine ausführliche Erörterung dieser und anderer Features von C++ in einem guten C++ - Buch zu finden, das Ihnen vollständigere Informationen liefert, als Sie Fremde auf den Intertubes fragen könnten. –
Kurz gesagt, alles, was "0" entspricht, wird als "falsch" interpretiert, alles andere als "wahr". '! 'invertiert das. Wahrscheinlich keine genaue Erklärung, aber IMO eine nützliche Faustregel. Es hat immer für mich funktioniert. –