C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Zeiger und Referenzen in Funktionen

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Christoph L.
Guest





PostPosted: Sun May 20, 2007 7:09 pm    Post subject: Zeiger und Referenzen in Funktionen Reply with quote



Hallo,
hab mal ne frage zu Zeiger und Referenzen in Funktionen. Ich weis nie
was und wie ich das in der Deklaration, Definition und letztendlich beim
"benutzen im Programm" (<- Da gibt es doch bestimmt auch einen
Fachausdruck für) übergeben soll.

Beispiel:

Deklaration :
bool foo(int&, float*)

Wie sieht jetzt die Definition und das "benutzen" aus? Wann muss ich &
und * weglassen, das hängt doch bestimmt auch mit dem Inhalt der
Funktion zusammen was ich mit den Übergebennen Parametern vor habe?!?!

Fragen über Fragen, ich hoffe ihr könnt mir helfen Smile
Auch wenn es ein Link ist in dem das erklärt steht...

P.s.: Das man mit * Dereferenziert, sprich den Wert des Zeigers bekommt
und mit & die Speicheradresse anspricht weis ich schon, nur in
Funktionen habe ich so meine Probleme.

Danke schon mal für die Hilfe!
Back to top
Björn Hendriks
Guest





PostPosted: Mon May 21, 2007 3:06 am    Post subject: Re: Zeiger und Referenzen in Funktionen Reply with quote



Christoph L. wrote:

Quote:
hab mal ne frage zu Zeiger und Referenzen in Funktionen. Ich weis nie
was und wie ich das in der Deklaration, Definition und letztendlich beim
"benutzen im Programm" (<- Da gibt es doch bestimmt auch einen
Fachausdruck für) übergeben soll.

Beispiel:

Deklaration :
bool foo(int&, float*)

Wie sieht jetzt die Definition und das "benutzen" aus? Wann muss ich &
und * weglassen, das hängt doch bestimmt auch mit dem Inhalt der
Funktion zusammen was ich mit den Übergebennen Parametern vor habe?!?!

Viele Symbole in C++ haben mehrere Bedeutungen, die man nicht verwechseln
sollte. In einem Ausdruck sind * und & der Indirektions- und der
Zeigeroperator, wie du richtig geschrieben hast.

In einer Deklaration haben sie jedoch eine andere Bedeutung. Vereinfacht
gesagt macht in einer Deklaration * aus einem beliebigen Typ T den Typ
Zeiger auf T und & den Typ Referenz auf T. Das hat erstmal nichts mit den
Operatoren * und & zu tun.

Die Vorstellung, dass bei einer Deklaration

float *px;

der Ausdruck *px vom Typ float ist, ist eine Eselsbrücke, die leider bei der
Deklaration einer Referenz mit & nicht funktioniert.

Gruß
Björn
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.