NULL und 0





  • ... und die Klammern bei new Object() sind auch korrekt.



  • Ethon_ schrieb:

    #define nullptr 0
    

    Löst das Problem in 99% der Fälle.

    Verwende NULL , wenn dir das reicht. Das Nullzeigerliteral nullptr wird eingeführt, gerade weil NULL einige Unzulänglichkeiten mit sich bringt (z.B. dass es ein int ist).



  • Gibt es eigentlich irgendwas, was gegen NULL spricht, außer dass es ein int ist, wenn man den neuen Standard nicht hat?
    0 und #define nullptr 0 sind auch int.
    NULL läßt sich auch viel einfacher zu nullptr ändern als 0, wenn man mal den neuen Std hat.



  • FutterBeidieTische schrieb:

    Gibt es eigentlich irgendwas, was gegen NULL spricht, außer dass es ein int ist, wenn man den neuen Standard nicht hat?

    1. Die Verwendung von NULL gibt keine zusätzliche Typsicherheit, d.h. man kann z.B. nach wie vor einer Funktion versehentlich NULL übergeben, wenn an der Stelle eigentlich ein int o.ä. gefordert war. In Zeiten von IDEs mit Calltips passiert sowas allerdings ohnehin kaum mehr.
    2. Ist länger als 0.

    Dass man NULL jedoch mit einer einzigen Ersetzaktion im gesamten Projekt zu nullptr ändern kann (und notfalls auch wieder zurück) ist allerdings ein absolutes K.O.-Argument, das für NULL spricht.


Anmelden zum Antworten