"."
-
doch kann man, aber sobald du pointer auf Pointer etc. hast, wirst du ihn zu schätzen wissen, wenn du vor lauter sternchen nicht mehr weißt, wo dir der Kopf steht
-
Lustig, eigentlich sollte -> (*a).bla ersetzen, aber wenn du es andersrum lieber magst

-
|| schrieb:
Ist der -> operator im Grunde überflüssig? ...
Ja !
(Ich persönlich finde, dass er zwar den Code erstmal übersichtlich macht, aber letztlich bei generischer Programmierung eher im Wege steht)
Gruß,
Simon2.
-
überflüssig, ja; genauso wie templates.
und makros, und funktionen.
kann ich alles mit brainfuck auch, ja, toll.
-
queer_boy schrieb:
überflüssig, ja; genauso wie templates.
und makros, und funktionen.
kann ich alles mit brainfuck auch, ja, toll.
templates, Makros und Funktionen bieten neue Funktionalitäten/Ordnungsmöglichkeiten; der "->" hingegen kann nichts, was "*." nicht auch könnte.Gruß,
Simon2.
-
Simon2 schrieb:
der "->" hingegen kann nichts, was "*." nicht auch könnte.
doch er kann überladen werden. und z.b. bei templates wird das dann interessant...
-
da sind wohl ein paar hardcore-programmer unterwegs die ihre bücher nicht sorgfältig durchgelesen haben?
mit dem pfeil -> kann man schneller abtippen
-
amüsierer schrieb:
mit dem pfeil -> kann man schneller abtippen
ja -> war ursprünglich (in C) als abkürzung für (*blub). gedacht. in C++ kann -> im gegensatz zu . überladen und damit sein verhalten umdefiniert werden.
-
… trotzdem hat Simon, gerade im Hinblick auf Generizität, recht.
Wie unsere Python-Freunde so gut wissen, sollte es möglichst stets nur one right way
geben. '->' führt eine Redundanz ein. Und eine Stolperfalle, denn diese scheinbare Redundanz kann dank Operatorenüberladung eine gänzlich andere Semantik besitzen.Auf der anderen Seite sorgt der Operator durchaus für lesbaren Code und der Wert davon kann gar nicht überschätzt werden! Code à la '(*x).y' führt nur unnötigen Klammersalat ein und den habe wir in C++ ohnehin schon zuhauf.
-
...zumal ein operator->, der etwas anderes als &operator* zurückgibt, etwa so viel Sinn macht wie ein operator+, der dividiert

-
LordJaxom schrieb:
...zumal ein operator->, der etwas anderes als &operator* zurückgibt, etwa so viel Sinn macht wie ein operator+, der dividiert

Weswegen ich es unschön finde, dass es da "zwei Wege zum selben Ziel" gibt und man an beide denken muss....
Gruß,
Simon2.