->
-
Das ist ein Pfeil.
*rofl* :p
-
Das mit dem Pfeil ist gut.
Pfeiloperator wird das genannt. Wenn du ein Objekt mit dem Zeiger adressierst, hat der Zeiger -> statt .-Operator um die Elemente anzusprechen.
-
Ok danke...

komme aus der C-Welt und bin mal ein C++ Programm durchgegangen...
In der Schule haben wir erst mitte dieses Jahres C++... naja und da ich
neugierig bin und nicht warten kann...
würde ja gerne mit einem "Anfänger"-buch
vorarbeiten, blos hab ich dazu wenig Zeit und im Moment genug zu lernen... 
de Gortosch...

-
gortosch schrieb:
komme aus der C-Welt
Netter Versuch, in C ist der -> Operator eher noch häufiger als in C++ anzutreffen

-
Zeiger und -> gabs aber auch schon in C ?!? :???:
-
bitte?
pointer... klar... wo bitte gibts in ANSI-C -> 
wir sind zwar noch nicht ganz durch... aber pointer haten wir schon...etwas verärgerter Gortosch...

Edit: ohoh... alles zurück... ihr habt recht... kommt aber erst sehr spät...
dachte das währe C++ spezifisch...
entschuldigt bitte...

-
gortosch schrieb:
wo bitte gibts in ANSI-C ->

Wenn du in meinem Beitrag class durch struct ersetzt, und
new durch malloc, hast du schon (fast) Ansi C.In C wird der Pfeiloperator bei Zeigern auf Strukturen eingesetzt.
Devil
-
Das ist ein "this Zeiger"
In einer Elementfunktion kann man mit dem "this" Zeiger ein Element des Objekts ansprechen...
this->wert // Datenelement auf "wert" this->funktion() // Elementfunktion aufrufen wert = 12; // entsprucht this->wert = 12
-
Hi,
wo in diesem Thread kommt überhaupt this vor, oder überhaupt eine Methode?
Für den Zeigeroperator gilt einfach: a->b = (*a).bChrisM, der kein C++ in der Schule lernt
-
Serious - Tobi schrieb:
Das ist ein "this Zeiger"
Falsch! Ich setz das extra in fett, weil das IMHO ein recht verbreitetes Missverständnis ist, insbesondere bei Leuten, die C++ nicht von den Grundlagen her gelernt haben, sondern irgendwie anders eingestiegen sind (VC++ oder so).
-> ist der Pfeil-Operator, dessen Bedeutung schon genannt wurde.
Der this-Zeiger ist der Wert des Ausdrucks this. Wie bei jedem anderen Zeiger, der auf eine Klasse zeigt, kann man auch hier den Pfeiloperator anwenden, um auf Elemente zuzugreifen. Sei es nun pFoo->member oder this->member, völlig egal, mit -> an sich hat das nichts zu tun.
-
Bashar schrieb:
nicht von den Grundlagen her gelernt haben, sondern irgendwie anders eingestiegen sind (VC++ oder so).
Falsch.

Du tust ja grad so, als wäre VC++ so anders, dass man darüber zu völlig falschen Vorstellungen von -> kommen könnte.

Nur zur Erinnerung: Der VC++ ist standardkonform und bietet (abschaltbare) Erweiterungen.
-
Na, sowie Du es sagst:
VC6 standardkonform ? Hmmm....
Ich bin aber auch der Meinung das man sich viel versaut wenn man Compilerspezifisch anfängt.
Ich sehe z.B. bei Leuten die mit Microsoftzeugs gelert haben oft solchen code:
if(irgendwas==true) { // 10 Zeilen Source if(FensterIstAuf) { // 30 Zeilen Source if(irgendwas anderes) { // xx Zeilen Source if(.... und so weiter } } }Das den Leuten abzugewöhnen is nich einfach :o(
Der längste if Block (Visual Basic) hat in der Firma hier immerhin 758 Zeilen :o( (wieviel das wohl in C gewesen wären ?)

-
[quote="Optimizer]Du tust ja grad so, als wäre VC++ so anders, dass man darüber zu völlig falschen Vorstellungen von -> kommen könnte. :)[/quote]
Falls du das nicht absichtlich falsch verstanden hast: Ich meine über Sachen wie MFC in 2 Stunden, wo das erste Fenster steht, bevor man begriffen hat was überhaupt eine Variable ist. Auf die Standardkonformität des Compilers hab ich überhaupt nicht angespielt, frag mich wie du darauf jetzt kommst.
-
derefferenzierungsoperator nennt man den "->"
-
Der Dereferenzierungsoperator ist der hier: *
-
Hi,
nein! * ist der Dereferenzierungsoperator. -> dereferenziert zwar auch, aber führt gleichzeitig noch eine Zugriff auf eine Membervariable/Methode durch.
ChrisM
-
. Punktoperator
-> Pfeiloperator
* Dereferenzierungsoperator
So damit haben wir alle die damit etwas zu tun haben
und evt. noch
&Adressoperator
-
@Bashar: Du hast von Leuten geredet, "die C++ nicht von den Grundlagen her gelernt haben, sondern irgendwie anders eingestiegen sind (VC++ oder so)."
Das ist IMHO Unfug, weil man für VC++ genauso die Grundlagen lernen muss, bzw. wenn man mit VC++ programmiert, lernt man genauso die Grundlagen. Es hat sich ein bisschen so angehört, als wäre VC++ fast ne andere Sprache...Dass du das auf MFC beziehst, war mir nicht klar, aber Schwamm drüber.
