Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

02.07.2007, 21:11

Pointer mit Null Initialisieren - Warum?

Hi

warum findet man immer wenn man tutorials liest, oder source von anderen, das jeder Pointer mit Null initialisiert wird? Ganz besonders bei eigenen Klassen wird erstmal jeder Pointer mit Null initialisiert.

Warum macht man das? mir ist noch nie ein programm abgestürzt weil ich den pointer nicht mit null initialisiert hab bevor ich ihn richtig initialisiert hab.

MfG
Elda

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

02.07.2007, 21:21

C-/C++-Quelltext

1
2
Klasse* pObjekt = 0;
delete pObjekt; // Objekt ist zwar nicht initialisiert, aber trotzdem kein Fehler


C-/C++-Quelltext

1
2
Klasse* pObjekt; // zeigt *irgendwo* hin

delete pObjekt; // Crash

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

3

02.07.2007, 21:21

Es ist eigentlich nicht nötig, einen Pointer den man gleich dannach initialisiert zuerst 0 zu setzen... ich vermute mal, es hat sich so eingewöhnt, weil man irgendwann im langen Programmiererdasein eben doch mal vergisst, den Pointer richtig zu initialisieren - je nach (zufälliger) Adresse kann es dann nämlich vorkommen, dass kein Fehler auftritt sondern einfach nur das Programm sich falsch verhält.

Das wichtigste ist allerdings, dass man einen Pointer nach Ende der Benutzung 0 setzt, wenn er nicht sowieso in absehbarer Zeit zerstört wird.

4

02.07.2007, 21:34

ok, ich habs jettz verstanden. danke.

Werbeanzeige