Zum Inhalt springen

Verständnisfrage: kein Casten des Rückgabewertes von malloc


Empfohlene Beiträge

Geschrieben

Hallo allerseits,

oftmals liest man hier, der Rückgabewert von malloc solle nicht gecastet werden und dass der explizite Cast sogar Fehler überdecken könnte. Das unnötige Casten ist leider auch in von mir geschriebenen Quelltexten durchgehend zu finden. Welche Fehler können denn dadurch verdeckt werden?

Die Suche im Netz brachte mich diesbezüglich bisher nicht weiter. Bislang ging ich immer davon aus, der Cast sei nur unnötig, würde aber nicht schaden. Mich würde nun aber interessieren, ob ich nicht potentielle Schwachstellen in meine Programme eingebaut und mir dadurch das Leben unnötig schwer gemacht habe.

Geschrieben
In C++ nimmt man kein malloc, sondern new. :beagolisc
Dann ist man aber nicht mehr kompatibel zu C ;)

Wenn man Code hat, der sowohl als C als auch als C++ compilierbar sein soll, dann muss man den Rückgabewert von malloc casten. Dann muss man aber auch noch etliche andere Dinge beachten.

Geschrieben
Dann ist man aber nicht mehr kompatibel zu C ;)

Wenn man Code hat, der sowohl als C als auch als C++ compilierbar sein soll, dann muss man den Rückgabewert von malloc casten. Dann muss man aber auch noch etliche andere Dinge beachten.

Ach, jetzt verstanden. :upps

Warum sollte man denn sowas machen? Ich mein, selbst bei Laufzeitmessungen sollte man die sprachspezifischen Funktionen, Operatoren o.Ä. verwenden. Das kann man wunderbar mit Präprozessordirektiven oder libs/DLLs machen.

An sich sind es, trotz syntaktischer Ähnlichkeit, ja unterschiedliche Sprachen, deswegen versteh ich den Sinn dahinter nicht wirklich...

Geschrieben

Vielen Dank für die Antworten. Ausgerechnet bei Wikipedia habe ich überhaupt nicht gesucht :( Im Code konnte ich zwar keine "gefährlichen" Stellen entdecken, aber da keine Kompatibilität zu C++ notwendig und dies auch nicht zu erwarten ist, werde ich das beizeiten mal bereinigen.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...