nullptr statt NULL benutzen? (bei C-Funktionen?)



  • Hallo Leute,

    habe hier schon einen ähnlichen Beitrag gefunden, wollte aber doch noch mal nachhaken.
    Wenn ich z.B. Bibliotheken habe, die malloc verwenden, kann ich dann die Gültigkeitsprüfung mit 'nullptr' machen anstatt mit 'NULL'? Also ist nullptr auch mit Funktionen vollkompatibel, die noch aus C herkommen? Wie würde es sich bei C-Funktionen verhalten, diese als Parameter NULL akzeptieren. Kann ich hier auch bedenkenlos nullprt einsetzen? ..oder kann es unter bestimmten Voraussetzungen Probleme geben. Ich möchte es schon gerne einheitlich haben.

    Ein Beispiel wäre die OpenSSL-Bibliothek, die ich in mein C++-Programm einbinde, aber C-Syntax verwendet.

    viele Grüße,
    SBond


  • Mod

    nullptr wird einfach implizit in alle Zeigertypen konvertiert. nullptr ist also objektiv besser, weil es nur mit Zeigern kompatibel ist (und nicht versehentlich in einen int umgewandelt werden könnte).



  • OK, danke 🙂

    Demnach ist es also kein Problem überall nullptr zu verwenden. Danke 😃



  • SBond schrieb:

    Hallo Leute,

    Wie würde es sich bei C-Funktionen verhalten, diese als Parameter NULL akzeptieren. Kann ich hier auch bedenkenlos nullprt einsetzen? ..oder kann es unter bestimmten Voraussetzungen Probleme geben. Ich möchte es schon gerne einheitlich haben.

    Wenn Du eine Funktion hast, die z.b. int als Parameter nimmt, dann kannst Du die auch mit NULL aufrufen, da NULL in der Regel eine 0 sein sollte. Dann hättest Du aber ein Problem beim Funktionsaufruf gefunden und würdest das NULL einfach durch 0 ersetzen 😉


Anmelden zum Antworten