Referezen als Funktionsparameter
-
Hallo,
also ich versuche an sich bei Funktionsparameter Referenzen den
Zeigern vorzuziehen, da diese nicht versehentlich NULL sein können.
Was mache ich aber, wenn ich ohnehin schon Zeiger habe z.B. "this"?
Die muß ich dann ja doch dereferenzieren, und schon kann's wieder schiefgehen...Ist es überhaupt üblich/legitim this zu dereferenzieren?
Wann sollte ich dann doch lieber Zeiger nehmen?(Ich übergebe manchmal NULL, um zu signalisieren, daß "nichts" übergeben wurde.)
Danke,
Stimpy
-
Wie kann this null sein?
Ein Pointer kann null sein, ja.
Pointer als Parameter in der Signatur benutze ich dann, wenn es null sein kann. Auch bei Membervariablen, wenn diese null sein können/dürfen.
-
hi,
'ne referenz kannste ja im nachhinein nicht umbiegen, 'nen pointer aber kannste auf alles mögliche zeigen lassen. wenn's also flexibel sein soll, dann nimm pointer...
-
Klar, this kann nicht NULL sein, aber andere Zeiger.
Und manchmal möchte man das ja auch nutzen.
Nur das Dereferenzieren eines Zeigers, um ihn dann doch als Referenz zu übergeben (was ja intern doch wieder ein Zeiger ist) hatte mich ein wenig gestört/verwirrt.