Forum: Programmieren allgemein
by Khabarakh,
7. Nov 2007
Das sind sogar zwei ganz bitterböse :mrgreen: . Die normale Klammer "(a)" ist kein Operator (jedenfalls habe ich noch nie gelesen, dass sie als ein solcher irgendwo definiert wird), in einer prozessornäheren UPN-Schreibweise würde sie ja auch wegfallen. Überladen lässt sie sich einmal als Cast-Operator "(a)b" und einmal als Function-Call-Operator "f()". Zum Komma sage ich lieber nichts, denn...
Forum: Programmieren allgemein
by Khabarakh,
7. Nov 2007
Aaaah, jetzt hab ich es auch verstanden. Glaube ich :mrgreen: . Wenn ich das richtig sehe, enthält das Array ja gar keine Zeiger, sondern direkt die Objekte (so langsam verstehe ich, warum C++ mit diesem Konzept ziemlich allein auf weiter Flur steht *g*), dann ist die Dereferenzierung per * oder -> natürlich komplett überflüssig. Die Dereferenzierung von CStudent* nach CStudent steckt ja schon im...
Forum: Programmieren allgemein
by Khabarakh,
7. Nov 2007
ist ebenfalls primär.
Wir wollen also folgende Reihenfolge erreichen:
Array indexieren (ja, das Wort gibt's laut LEO wirklich :mrgreen: ) per primär
Zeiger auf Klasse dereferenzieren per * unär
Memberzugriff per . primär
=> Entweder Klammer um 2. oder 2.+3. durch "->" zusammenfassen.
Forum: Programmieren allgemein
by Khabarakh,
7. Nov 2007
Der bislang völlig von C++ Verschonte wagt eine Antwort, mal sehen, was daraus wird :stupid: . Jedenfalls dürfte in C++ wie in C# gelten, dass "*" als unärer Operator einen niedrigeren Rang als "." als primärer Operator einnimmt. Solange du also nicht den Rückgabewert der Methode dereferenzieren willst, musst du klammern oder "->" verwenden.
Bitte daraus nicht schließen, dass man in c#...