Was ist null/nil in C++ und wie arbeitet man damit?
Frage: Was ist null/nil in C++ und wie arbeitet man damit?
Hallo Kollegen! Ich wechsle von Python und Java zu C++ und kann das Konzept von null/nil in dieser Sprache nicht ganz verstehen. In Python gibt es None, in Java null, und in C++ treffe ich auf nullptr, NULL und einfach 0. Ist das dasselbe? In welchen Fällen verwendet man was?
Ich habe versucht, solchen Code zu schreiben:
#include <iostream>\n\nvoid foo(int* ptr) {\n if (ptr == NULL) {\n std::cout << "Pointer is NULL" << std::endl;\n }\n}\n\nint main() {\n int* p = nullptr;\n foo(p);\n return 0;\n}Der Code kompiliert, aber ich bin nicht sicher, ob das richtig ist. Ich habe auch von std::optional gehört – ist das eine ganz andere Geschichte? Oder ist das ein moderner Ersatz für null? Ich erwarte eine klare Erklärung: was von dem Genannten
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen