Ist ++i anders als i++???
-
Original erstellt von awesome:
**
Scheint auch Leute zu geben, die nicht dankbar für Hilfe sind.
Den Titel Guru erarbeitet man sich - und meistens ist er dann auch verdient. Das gehört einfach zum Gesellschaftssystem dazu, genauso wie Dr., Prof. oder (Dipl.)Ing. etc...**nur dass man Guru wesentlich schwerer wird, als Dr., Prof. oder Dipl. Ing.
-
joo, das sagt man auch über Schachgrossmeister, da kann ich dies auch nachvollziehen, bei euch leider nicht, vor allem weil ihr einem leider auch keine Chance lässt dies zu tun
Denn wenn man seine Meinugn bzw. seine Antwort auf die Frage postet wird man eh niedergemacht. Wenn man siene Stellung dann noch verteidigt ist man direkt ein Troll, sorry aber denkt mal nach, es gibt auch ein leben neben C++ !
PS: ICh hätte nicht gedacht das man wirklich so verbohrt sein kann wegen einer imaginären Sprache. ICh finde das schon wirklich l33t von euch (einigen hier) aber ich hab wirklich keinen weiteren Bock mehr daruaf, seit ihr nur weiter l33t wie die Sau, ich verstehe es eh nicht ! Will dies aber auch garnicht denn ich mag lieber mich mit leuten unterhalten als sie dumm anschaun zu müssen bzw. dumm angeschaut zu werden.
-
Original erstellt von JoelH:
es gibt auch ein leben neben C++ !Nein.
-
Original erstellt von JoelH:
joo, das sagt man auch über Schachgrossmeister, da kann ich dies auch nachvollziehen, bei euch leider nicht, vor allem weil ihr einem leider auch keine Chance lässt dies zu tunDenn wenn man seine Meinugn bzw. seine Antwort auf die Frage postet wird man eh niedergemacht.
Deine Argumentation ist:
i steht immer linksvolkards Argumentation ist:
i+=1; ist äquivalent zu ++i;
i++; macht etwas anderes.(von der performance jetzt mal abgesehen)
ich ueberlege mir, wer da verbohrt ist
-
Original erstellt von Shade Of Mine:
Deine Argumentation ist:
...Seine Argumentation ist: "Ich hab mir das mal so gedacht, ganz früher, und seitdem fahre ich echt gut damit. Ich schreibe nie ++i oder i++ in nen Ausdruck rein, sondern fein und brav als einzelnen Befehl hin. Also hab ich keine Probleme, und ich seh ja ein, daß Ihr eigentlich recht habt, aber mich kümmerts nicht, ich mach so weiter. Und ich erhebe keinen Anspruch, daß Ihr das so machen müßt, wie ich."
Das ist sein gutes Recht.
Wenn er Nubes empfiehlt, nur i++ zu schreiben, gibts natürlich Widerwort. Tut er aber nicht.
-
Also ich habe gerade gemerkt, dass die von StarOffice auch Post-Inkrement verwenden...bei meiner 5.0-Version steht im Menü Extras bei Berechnen Strg++...und das müssen doch gute Programmierer sein!
-
tja, nicht gut genug.
-
Ergänzung zum vorhergehenden Posting:
*** IRONIE ***
-
wie kann man nur so sein?
seit froh dass die von oo des ganze wenigstens kostenlos anbieten, dann ist ja die qualität des codes nicht mehr so wichtig... oder wollt ihr behaupten, nur weil ihr die fehler von m$ nicht sehen könnt sind die dann besser als alle anderen im coden?und wenn ihr glaubt besser zu sein, dann schreibt ihr halt mal solch große software und macht es besser UND stellt es opensource zur verfügung
dann kommt ein anderer und macht euch fertig, wenn er einer anderen meinung ist, weil irgendein codeschnippsel von euch 1 takt langsamer ist...
also denkt mal drüber nach
just my 2 cents
-
Ich habe gemerkt, das viele professionelle Programmierer (also die, deren Beruf das Programmieren ist) weniger über C++ wissen als ich. Und das finde ich irgendwie erschreckend, da C++ bei mir nur ein Hobby ist.
Und was die ganze Disskussion hier bringen soll, weiß ich auch nicht. Ein einfaches ++i ist semantisch korrekter, in vielen Situationen schneller, egal wie borniert JoelH ist. Und dann noch der Rat an Nubees nie auf JoelH zu hören.
-
Helium schrieb:
Ich habe gemerkt, das viele professionelle Programmierer (also die, deren Beruf das Programmieren ist) weniger über C++ wissen als ich. Und das finde ich irgendwie erschreckend, da C++ bei mir nur ein Hobby ist.
Deine Feststellung lässt sich einfach begründen.
Die 'professionellen Programmierer' haben eine einfache Zielsetzung: es muß laufen.
Bei Dir ist es Hobby, also schaust Du dir alles mal an und probierst/liest nach/etc. Ein 'pP' hat meistens keine Zeit/Lust.In dieser Hinsicht lassen sich auch Beispiele in anderen Berufsgruppen finden.
-
daishi schrieb:
Ein 'pP' hat meistens keine Zeit/Lust.
Stimme ich dir zu. Viele Berufsprogrammierer die wirklich geile Programme schreiben, haben nicht die Zeit sich das ganze Zeug anzueignen. Deswegen sollten wir dankbar sein, dass wir (noch) anscheinend alle genug Zeit haben um ins Forum zu kommen und unseren Horizont zu erweitern. Ich verstehe allerdings nicht was die Diskussion hier soll. JoelH hat anscheinend schon nach 3 Posts begriffen was ihr ihm sagen wolltet. Wenn er es nicht annimmt ist das doch seine Sache solange er diesen verbohrten "Pascal...Basic...und ein bisschen C"-Mix hier nicht an die Anfänger im Forum weitergibt.
-
Die 'professionellen Programmierer' haben eine einfache Zielsetzung: es muß laufen.
Falschrum gedacht. Ähnlich wie: "Ich habe keine Zeit, deshalb lasse ich das Testen dieses eine Mal ausfallen". Am Ende kommt alles wieder zurück. Und dann meist doppelt. Vielleicht lässt sich die "hauptsache es läuft"-Lösung auf den ersten Blick schneller erstellen, aber erstellen ist nicht das einzige im Softwerker-Leben. Code muss schließlich getestet, gewartet und erweitert werden.
Ich bezweifle allerdings auch, dass wirklich professionelle C++ Programmierer weniger Ahnug haben als unser einer. Wenn ich mir da so Magazine wie das CUJ, oder das DrDobbs-Journal anschaue oder ein bischen in englischsprachigen NGs rumsurfe, präsentiert sich mir da ein anderes Bild. Und das sind alles professionelle Programmierer. Nix ausschließlich Hobby.
Ist zwar etwas OT, aber prinzipiell gefällt mir da Uncle Bob's (Robert C. Martin) We will not ship shit-Einstellung. Die setzt natürlich kontinuierliches lernen voraus. Ein "Hauptsache es läuft" ist da nicht ausreichend.
-
Endlich mal wieder eine schöne Diskussion.
Als ich vor einiger Zeit folgende Frage dazu stellte
Was spricht gegen das Post increment?
kam folgende Antwort
Beim Postinkrement muss erst eine temporäre Variale angelegt werden, die den alten wert speichert und zurück gibt.
-
Wenn ich folgenden Vergleich durchführe.
#include <iostream> #include <ctime> #include <conio.h> using namespace std; int main() { const int MAX; cout << "Anzahl Schleifendurchlaeufe? "; cin >> MAX; clock_t t1,t2; double ts; t1=clock(); for(int i=0;i<(MAX);i++) {} t2=clock(); ts=(t2-t1)/static_cast<float>(CLOCKS_PER_SEC); cout << "Zeit bei i++: " << ts << " sec" << endl; cout<<endl; t1=clock(); for(int i=0;i<(MAX);++i) {} t2=clock(); ts=(t2-t1)/static_cast<float>(CLOCKS_PER_SEC); cout << "Zeit bei ++i: " << ts << " sec" << endl; cout<<endl; getch(); }
Warum erhalte ich bei dem hier bevorzugten Praeinkrement eine längere Zeitspanne als bei Postinkrement? (Dev-C++ 4.9.8.2)
-
Warum erhalte ich bei dem hier bevorzugten Praeinkrement eine längere Zeitspanne als bei Postinkrement? (Dev-C++ 4.9.8.2)
1. Wenn man misst, dann bitte nicht nur einmal. Mindestens eine Schleife sollte es sein. Dann Ausreißer weghauen und vielleicht noch Mittelwerte bilden.
2. Wenn man misst, dann bitte nicht nur mit einem Compiler in einer Version
3. Wenn man misst und es ist etwas so furchtbar einfaches, dann ruhig mal den Code anschauen, der generiert wird.
4. Ist euch klar, dass das für ints überhaupt keine Rolle (aus Sicht der Performance) spielt? Jeder halbwegs normale Compiler sollte hier genau den selben Code generieren. Selbst jeder Java-Compiler generiert für ++i, i++ und i+=1 den selben Code.
Wichtig wird der Unterschied bei richtigen Objekten (z.B. komplizierten Iteratoren). Für Postincrement muss hier eine Kopie erstellt werden. Und das kann teuer werden. Ansonsten geht es hier eigentlich mehr um Semantik.
PS: Mein VC generiert im Debug-Modus den selben Code und im Release gar keinen
-
worüber ihr so diskutieren könnt, Wahnsinn!
und dann immer diese genialen Messungen:) Fehlt eigentlich nur noch, dass Ihr Linux und Windows mit ins Spiel bringt. Ich schwanke ja immer zwischen dem C-PlusPlus Forum und den beiden netten Herren Nachts auf Bayern3, die sich nen Kopf drüber machen ob Ihr Gehirn aus Sterbenstaub ist
-
Das C++-Forum läuft rund um die Uhr. Die mental-astralen Rotweintrinker gibt es seltener.
Was ist denn an der Messung oben so falsch?
-
Die mental-astralen Rotweintrinker gibt es seltener
hehe nett formuliert
Naja ich glaube es es echt keinen Unterschied macht ob das prog nun ne 1000 Sek. länger brauch oder nich.. es sei denn es kommt wirklich drauf an. Kommt es denn drauf an?
-
Warum erhalte ich bei dem hier bevorzugten Praeinkrement eine längere Zeitspanne als bei Postinkrement? (Dev-C++ 4.9.8.2)
Lass in deinem Programm mal erst zwei Dummymessungen laufen und mach erst dann die richtigen. Messungen direkt am Anfang des Programms machen bei dem Compiler oft irgendwie Blödsinn.
Ich bezweifle allerdings auch, dass wirklich professionelle C++ Programmierer weniger Ahnug haben als unser einer. Wenn ich mir da so Magazine wie das CUJ, oder das DrDobbs-Journal anschaue oder ein bischen in englischsprachigen NGs rumsurfe, präsentiert sich mir da ein anderes Bild. Und das sind alles professionelle Programmierer. Nix ausschließlich Hobby.
Das die Leute, die für's CUJ und ähnliche Magaziene schreiben was drauf haben habe ich nie bezweifelt. Die die Regelmäßig im Usenet rumhängen sind auch nicht die von mir angesprochene Gruppe. Ich habe aber Programmierer kennengelernt, die sich irgendwie die letzten paar Jahre quasi überhauptnicht mehr informiert haben. Ich habe sogar einen getroffen, der C++ bis 93 gelernt hat und seit dem nichts neues mehr gelesen hat. Ich sage nicht das alle sosind und auch das viele war falsch, aber es scheint mir einige zu geben.