Was macht das '->' Symbol?

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/was_macht_das_gt_symbol_78156/page_1 - zur Vollversion wechseln!


HeuJi schrieb am 11.05.2003 um 01:49

Sorry, ich bin noch absoluter noob im Programmieren und hab keine Ahnung wozu das '->' steht...
Bedeutet das Symbol zeigt, impliziert, folgt oder abgeleitet? :confused:
In Tutorials hab ich auch nix gescheites gefunden...

z.B. Hier kommt das überall in den (blauen) Programmabschnitten vor:
http://www.zbi.uni-saarland.de/zbi/...foV6kompakt.pdf


CitizenX schrieb am 11.05.2003 um 01:52

wenns " 's " hiese würds sinn machen


semteX schrieb am 11.05.2003 um 01:53

das heist das es auf ne klasse verweist (z.b. in php)

z.b. wenn du in der klasse BLA eine funktion berech() hast rufst die fkt so auf: BLA->berech();

so die erklärung eines noobs der es selbst erst grod checkt hot :D


atrox schrieb am 11.05.2003 um 03:31

oje.. sind ja schon alle php geschädigt hier :)
dem pdf nach zu schließen soll -> im c/c++ context betrachtet werden (woher sich php auch diesen operator ausgeborgt hat)

a->b ist das selbe wie (*a).b

was heißt das jetzt ?

a ist ein zeiger auf eine struktur, b ist der elementname. das funktioniert nur bei strukturen und unions, währe a ein pointer auf irgendeinen anderen datentyp, so muß man die *-notation (bzw []) zum dereferenzieren verwenden.
wäre a direkt die variable der struktur (und nicht der pointer darauf), dann würde man a.b schreiben.

zb:
struct rgb {
int rot,gruen,blau;
}

struct rgb *ZeigeraufFarbton;
struct rgb meinFarbton; // lokale variable am stack

meinFarbton.rot=234; // zugriff auf element rot

// jetzt besorge ich mir den zeiger darauf (oder erstelle es dynamisch, etc)
ZeigeraufFarbton = &meinFarbton;

ZeigeraufFarbton->gruen=123; // gleichbedeutend mit ...
(*ZeigeraufFarbton).gruen=123;


weil aber in c++ eine class eigentlich eine struct ist, welche 'zufällig' auch noch code enthält, läßt es sich dort genauso für instanzen von klassen anwenden (für gewöhnlich hat man nämlich nur einen pointer auf eine instanz) [übrigens, weil das so ist, hat man in java zb komplett auf structs verzichtet]

btw... (ad pdf): binäre (such)bäume - ein ganz wichtiges kapitel in der informatik


HeuJi schrieb am 11.05.2003 um 11:52

@atrox

Thx, für deine umfangreiche Erklärung!
Das hat mir weitergeholfen!




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025