Referenzen vs. Zeiger
-
In der praxis eher Refs nehmen, da sie fehlerunanfälliger sind. Ist aber
nicht immer möglich (zB wenn man mit NULL-Zeigern arbeiten will).
-
@Mastah: T*& macht schon Sinn - z.B.
void Realloc<T>(T *& ptr, int & size)Für die verwendung Zeiger/Referenz mach ich eher semantische Unterschiede - Ich sehe nix, wo eine Referenz wirklich ungefährlicher ist als ein Zeiger.
Funktionsparameter:
void Foo(CHamlet & x)
hier ist der Aufrufer verantwortlich, eine gültige Referenz zu übergeben (also keinen dereferenzierten Null-Zeiger)
void Foo(CHamlet * x)
hier sollte die Funktion abtesten, ob der übergebene zeiger NULL ist
-
Thx, aber wie wird eine Referenz intern verwaltet? Einen Zeiger kann man im Speicher selbst finden. Wie finde ich eine Referenz physisch?
Man findet sie schon im Speicher, es gibt nur keinen C++-Syntax, um die Adresse zu bekommen
-
Man findet sie schon im Speicher, es gibt nur keinen C++-Syntax, um die Adresse zu bekommen.
Wozu auch? Sie sind schließlich konstant. int &x = *f; return &x; gibt f zurück.
-
Bashar schrieb:
Warum denn nicht?
Hab wieder mal zu kurz gedacht
. Und gerade heute ist mir auf der Arbeit aufgefallen wie oft ich das doch verwende.
-
Danke fuer die Infos. Gibt es dennoch einen Weg, an Referenzen ran zu kommen?
-
Wie meinst du "rankommen"? Meinst du die Speicheradresse einer Referenz oder was?
-
.. schrieb:
Danke fuer die Infos. Gibt es dennoch einen Weg, an Referenzen ran zu kommen?
was hast du vor?
-
geht nicht. gründe sind ersichtlich.
-
wieoft soll man eigentlich noch nein sagen ????
-
so direkt hat es bis vor zwei postings eben noch niemand gesagt
-
Direkt: NEIN
.
-
thx @ all.
-
Well... natürlich geht's wenn's sein muß
ist aber compiler-abhängig und bringt nix sinnvolles.
-
Wie geht das bitte? z.B. beim Dev-Cpp 4.9.8.x (nur fuer Demo-Zwecke im Vgl.zu pointer).
-
@peterchen
mußt du nem Esel wieder ne Mohrrüber vors Maul hängen?
-
*g*
Hatte ich nicht drauf geantwortet? Na egal....