Jenz: Wie komisch ist das denn?

Beitrag lesen

Anschauungsbeispiel:

f == &f[0] == f+0
&f[5] == f+5
f[0] == *(f+0)    // +0 kann natürlich auch weggelassen werden
f[5] == *(f+5)
//jetz wirds abstrakt und theoretisch (das wirst du hoffentlich nie so vorfinden), aber es geht noch weiter:
== *(1+f) == 1[f]

Hm, coole Sache. Ich gehe mal davon aus, dass bei Dir auch 1[f]==f[1]? Ist das nur dadurch begründet, dass 1[f]=1+f <font color="red">!==!</font> f+1==f[1], um wenigstens die Kommutativität des "+"-Operators zu wahren, oder steckt noch eine andere teuflische Logik dahinter? :-)

Die Schreibweise mit f+1 hat den Vorteil, dass der ursprüngliche Pointer erhalten bleibt, was auch das Problem, das du hattest mit der Abarbeitungsreihenfolge der Argumente, beseitigt.

Okay, aber nur aufgrund dieser Tatsache will ich Dir jetzt Recht zugestehen :-). Ansonsten finde ich ++ einfach eleganter und korrekterer.

Ich habe immer noch nicht ganz verstanden, wann man jetzt Variablen var durch "&var" und wann als "*var" deklarieren muss!? Mit google ist ohne Kenntnis der genaueren Suchsyntax ja nichts zu machen bei solchen Zeichen, finde leider nix.

Ich mach das immer manuell: (code lang=C++)bla bla bla (/code)
nur mit eckigen statt runden klammern. Einen extra-Knopf gibt es dafür nicht, weil C++ hier vielleicht zu selten vorkommt und ausserdem in der Webprogrammierung ja nicht so häufig verwendet wird.

Sehr gut. Nur für den Fall, dass solche Themen hier im Sinne der Übersichtlichkeit des Forums nicht 100% erwünscht sind (bin hier trotzdem gerne, weil die Leute immer so schön diskutieren :), und Du ja C++mäßig sehr bewandert scheinst, wo würdest Du mich hinschicken?

Gruss,
Jens