Pre- oder Post-Inkrementierung bei for-Schleifen?



  • 7xCore schrieb:

    Was ist dan der Aussage von PI arrogant?

    Dass es ein Fehler ist, wenn man nicht seiner Meinung ist.

    Das einzige was an ihr ist, ist das sie stimmt ?!

    Und das ist genau so arrogant, weil sie absolut ist, und keinen Raum für Diskussion lässt.

    PI hat ja als erstes eingeworfen "es zählt, was das Konstrukt ausdrücken soll". Und primär drückt sowohl "++i" als auch "i++" aus "erhöhe i um eins". Der Rest fällt bös gesagt unter Nebeneffekt, wenngleich er hier nicht ganz so unbedeutend ist. Nach PIs Darstellung erhöht ++i nur, i++ erhöht und gibt das alte i zurück - dass ++i auch etwas zurückgibt scheint für ihn Nebensache.



  • Zeus schrieb:

    Aber i++ evaluiert im Ausdruck mit i und nach der Anweisung mit i+1, während ++i im Ausdruck und nach der Anweisung mit i+1 evaluieren

    Es geht hier - wie schon mehrmals erwähnt wurde - um das alleinstehende Inkrementieren. In den anderen Fällen ist doch schon durch den Kontext die Wahl von Prä- oder Postinkrement fest vorgegeben.



  • 7xCore schrieb:

    Was ist dan der Aussage von PI arrogant?Das einzige was an ihr ist, ist das sie stimmt ?!

    Er sieht seine Meinung als das Mass aller Dinge.
    Er setzt "nicht einer Meinung mit ihm sein" mit "ihn nicht verstanden haben" gleich.
    Ne, natürlich gar nicht arrogant.



  • @Zeus: Das ist mir schon klar. Ich wollte nur darauf hinaus, dass '"Wofür wird hier der Rückgabewert gebraucht"' für beide Operatoren gilt, was PI's Aussage nutzlos macht.

    Und jetzt halte ich mich aus der Diskussion lieber raus, weil die zu nichts Sinnvollem mehr führt.



  • 314159265358979 schrieb:

    Ich freue mich schon auf Flames ala "Du siehst deine Meinung als einzig richtige an blafu",

    Ja, weil es genau so ist.

    aber ist nunmal so, dass meine die einzig logisch sinnvolle und begründbare ist.

    Was du nicht verstehst, ist, dass es im Endeffekt egal ist wie man's schreibt.
    Aussagen wie "jeder der i++ schreibt ist blah" sind einfach nur Schwachsinn.

    Du hast keine Ahnung von der Praxis, mutest dir aber permanent an alles besser beurteilen zu können als *alle anderen hier*.

    Bist du wirklich so daneben dass du nicht merkst, dass das nicht sein kann? Meinst du echt hier im Forum wären nur lauter Vollidioten die trotz 20+ Jahren mehr Lebenserfahrung als du und der zig oder hundertfachen Projekterfahrung (in der Praxis) nicht fähig wären ein paar Dinge besser einzuschätzen als du?


  • Mod

    314159265358979 schrieb:

    Kein einziger von euch hat verstanden, worauf ich eigentlich hinaus will, obwohl es doch so offensichtlich ist. Wenn man i++ sieht, sollte der erste Gedanke sein "Wofür wird hier der Rückgabewert gebraucht". Zumindest bei mir ist das so. Wenn ihr nicht so denkt, ist das euer Fehler.

    Ich freue mich schon auf Flames ala "Du siehst deine Meinung als einzig richtige an blafu", aber ist nunmal so, dass meine die einzig logisch sinnvolle und begründbare ist.

    Das kann ja sein. Nur geht der Vorwurf, man sei nicht schlau genug, um etwas zu verstehen, ins Leere.
    Umgekehrt wird ein Schuh draus: du solltest dich auf unser Niveau herunterdenken, damit eine produktive Diskussion entstehen kann.



  • Michael E. schrieb:

    Es geht hier - wie schon mehrmals erwähnt wurde - um das alleinstehende Inkrementieren.

    Ach, dann. Wie Otze schon sagte, wird das ja wegoptimiert, also ist es ja im Endeffekt bei der Schleife vollständig Egal. Ich dachte, dass eine Funktion ala

    const myclass operator++(int)
    {
        return ++*this - 1;
    }
    

    in einer Schleife zusätzlichen Kopieraufwand bedeutet.



  • @hacker: So wie Du geschrieben hast, ist es richtig. Prä-Inc gibt eine Referenz zurück, Post-Inc eine Kopie. Geht auch nicht anders, da bei Post-Inc ja eine Änderung stattfindet, die beim zurück Gegebenen nicht sichbar sein soll.



  • Ein sehr dubioses Thema



  • 314159265358979 schrieb:

    Kein einziger von euch hat verstanden, worauf ich eigentlich hinaus will, obwohl es doch so offensichtlich ist. Wenn man i++ sieht, sollte der erste Gedanke sein "Wofür wird hier der Rückgabewert gebraucht". Zumindest bei mir ist das so. Wenn ihr nicht so denkt, ist das euer Fehler.

    Ich hab schon lange verstanden worauf du hinaus willst und frage mich dann immer, was ist eigentlich der Rückgabewert von i++ bei int und vorallem welcher Hansel hat den ++ Operator für int überladen?



  • 7xCore schrieb:

    Was ist dan der Aussage von PI arrogant?

    Es ist einfach lächerlich, wie toll er sich vor kommt, nur weil er ein bisschen was bei solchen Anfängerthemen weiß. Sobald er bei einem komplizierteren Thema mitreden will, merkt man, dass er garkeine Erfahrung hat.



  • Ach, mit hohem IQ kann man nen zunächst niedrigen EQ durch bewusstes Üben super verbessern. Das bekommt er sicher noch hin. 👍



  • Solche Threads sind immer wieder genial 🤡



  • Meine Meinung:
    Wenn der Rückgabewert nicht gebraucht wird (unsere Situation) gibt's nie ne situation bei der postfix schneller ist als präfix. Wenn man sichs nachdenken also sparen will ist immer präfix die bessere Variante. Auch kann der compiler nicht unbedingt jeden operator++ call inlinen, vorallem wenn die Funktion größer ist, meines wissens erhöht das mit der code-größe auch die misses vom code cache, und würde irgendwann das ganze langsamer machen.

    Weiter, um Stroustrup sinngemäß wiederzugeben, könnte es sein das operator++ gar nicht implementiert wird, weil es deutlich langsamer ist - damit fängt man sich nicht nur inkonsistenzen im coding stil ein, sondern falls man mal von einer Klasse auf eine andere wechseln will, muss man durch den code gehen und alle fälle von postfix zu präfix ändern. Eine Sache die man sich gespart hätte, hätte man gleich präfix genommen.

    Letztendlich ist der einzige "Vorteil" von postfix nur, das es einige schon immer so gemacht haben. Weil dass es tatsächlich besser sei, dafür argumentiert hier ja nichtmal jemand.



  • afaik ist PI schwul, was seinen Niedrig-IQ erklärt



  • Hakker schrieb:

    afaik ist PI schwul, was seinen Niedrig-IQ erklärt

    Nö wieso, er hat einen prof. getesteten IQ von 133 (meinte er mal), also seh ich das nicht ein. Außerdem bist du geistlich weit zurückgeblieben, wenn du so untolerant gegenüber homosexuellen bist (das ist nähmlich 6. Klasse, "Hey du Schwuchtel!"). Wahrscheinlich bist du selbst schwul. Und jetzt lass es bitte, das ist OT und pumuckl kommt dann wieder an und hält uns eine Predigt über Moral in Foren (womit er prinzipiell Recht hat).



  • @Hakker: Wenn ich mich recht erinner, gibts statistisch sogar eine positive Korrelation zwischen IQ und Wert auf der Kinsey-Skala.

    @pumuckl: Sorry, aber postmodern betrachtet ist auch Forenmoral subjektiv. 😉



  • Hacker schrieb:

    Außerdem bist du geistlich weit zurückgeblieben, wenn du so untolerant gegenüber homosexuellen bist

    Ich nehme an du meinst "geistig zurückgeblieben", denn "geistlich" ist er ganz weit vorn in dem Punkt 😉



  • Tim schrieb:

    Hacker schrieb:

    Außerdem bist du geistlich weit zurückgeblieben, wenn du so untolerant gegenüber homosexuellen bist

    Ich nehme an du meinst "geistig zurückgeblieben", denn "geistlich" ist er ganz weit vorn in dem Punkt 😉

    wird er eh wieder 89327128903 editieren.... dann ist alles gut



  • Was hier in dem Forum abgeht ist teilweise richtig lächerlich. Sobald 31415... irgendwas postet, kommt der Anti-PI Trupp und zerlegt seinen Post bis auf den Beistrich. Und wehe dieser ist falsch gesetzt, dann wird gleich einmal schön geflamed.

    Auf der anderen Seite bin ich auch der Meinung das manche Posts von 31415... überheblich rüber kommen. Allerdings sollte man als erwachsener Mensch solche Dinge auch einfach ignorieren können.

    Jeder 5te Thread ist eine Zumutung für Leute die hier her kommen um Hilfe in Anspruch zu nehmen. Jeder Post wird bis aufs kleinste Detail zerpflückt und kritisiert, auch wenn oft das Gesagte ohnehin verstanden wurde. Raus kommen dann Diskussionen wie:

    A: "Der Code kompiliert nicht, da du in deinem Beispielcode beim Kommentar einen Slasch vergessen hast."

    B: "Slash schreibt man ohne c ... 🙄 ."

    Auch die Diskussion hier über Prä und Post hätte nicht entstehen müssen, da wie ihr ja im Endeffekt zugebt, verstanden habt auf was 31415.. hinaus wollte. Einzig und alleine wie er es geschrieben hat war euch ein Dorn im Auge.

    Ich hoffe, dass man sich in Zukunft wieder den Fragen der Leute widmen kann und über etwaige Rechtschreib- / Grammatikfehler und Banalitäten in Beispielcodes hinweg sehen kann.


Anmelden zum Antworten