Login
Newsletter
Werbung

Thema: Debian diskutiert weiter über Systemd

7 Kommentar(e) || Alle anzeigen ||  RSS || Kommentieren
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
1
Von comrad am Do, 6. Februar 2020 um 14:07 #

das heisst doch nicht NULL, sondern man benutzt jetzt nullptr

  • 1
    Von Unerkannt am Do, 6. Februar 2020 um 17:23 #

    In C ist es immer noch das NULL-Makro.

    • 0
      Von George99 am Do, 6. Februar 2020 um 19:48 #

      Oder noch einfacher: 0

      Und Abfrage dann mit if (ptr) {...} btw. if (!ptr) {...}

      Bin kein Freund dieser geschwätzigen Programmierstile.

      • 0
        Von Unerkannt am Do, 6. Februar 2020 um 21:12 #

        Oder noch einfacher: 0
        Ich denke das ist nicht richtig. 0 ist eine nicht ganz definierte Integerkonstante (vom Typ her). Sie hat jedenfalls einen Integertyp (keinen Pointer-Typ) und NULL hat definitiv einen Pointer-Typ.

        • 0
          Von Tamaskan am Fr, 7. Februar 2020 um 09:39 #

          In C ist NULL als ((void*)0) definiert, in C++ als 0. In beiden Fällen ist jedoch nicht die numerische Null gemeint, sondern die Adresse 0, die keine gültige Adresse ist. Es kann aber passieren, dass NULL implizit zur numerischen Null konvertiert wird, was man in der Regel ja nicht will.

          Ab C++11 gibt es nullptr vom Typ std::nullptr_t. Dieser lässt sich implizit nur zu bool konvertieren, wodurch man Nullpointer weiterhin in Bedingungen verwendet kann, man kann aber nicht mehr versehentlich einen Nullpointer mit einem Integer verrechnen und ähnliches.

        0
        Von ah am Fr, 7. Februar 2020 um 18:20 #

        > if (ptr) {...} btw. if (!ptr) {...}

        Schlechter Programmierstil. Zum Glück gibt es heute Sprachen, die eine echte boolesche Bedingung beim if erzwingen. Fehleranfällige Sprachen wie C sterben hoffentlich bald aus...

Pro-Linux
Unterstützer werden
Neue Nachrichten
Werbung