While vs for
-
volkard schrieb:
Tatsächlich ist sie im C++-Umfeld zum Teil hinderlich und führt zu pascaloidem Gekröse.
Volkard!? Jetzt sei doch mal ehrlich!? Das Committee hätte mit C++11/C11 endlich die Möglichkeit gehabt, solch desaströs veraltete und künstliche Konstrukte wie Schleifen endlich aus der Sprache zu verbannen! Aber nein, was machen sie? Sie führen ein noch grausigeres for-each konstrukt ein??
-
Swordfish schrieb:
volkard schrieb:
Tatsächlich ist sie im C++-Umfeld zum Teil hinderlich und führt zu pascaloidem Gekröse.
Volkard!? Jetzt sei doch mal ehrlich!? Das Committee hätte mit C++11/C11 endlich die Möglichkeit gehabt, solch desaströs veraltete und künstliche Konstrukte wie Schleifen endlich aus der Sprache zu verbannen! Aber nein, was machen sie? Sie führen ein noch grausigeres for-each konstrukt ein??
Schleifen sind gut. Andere Sachen der Strukturierten Programmierung sind müllig.
http://en.wikipedia.org/wiki/Structured_programming#Early_exit
Early Exits sind aber heute streng zu bevorzugen.http://en.wikipedia.org/wiki/Structured_programming#Exception_handling
*lach*
Die hatten was im Tee.
-
Ja, eben. Das ganze gedöhns hätt man sich mit vernünftig platzierten
goto
s sparen können ... genauso wie diese sinnfreien Schleifen//edit: Noch dazu könnt' man sich mit
goto
die blöde Fragerei sparen, ob da alle Typen RAII sind oder nicht ...volkard schrieb:
Die hatten was im Tee.
*eeeek* was meinst Du damit? Will auch?! ... aber ich mag keinen Tee
-
int i = 10; do { } while ( --i );
->
int i = 10; start: if( --i ) goto start;
-
Nein, ich sehe hier kein Problem. For nutzt man, wenn Du inetwa sagen kannst für jedes, while nutzt Du bei solange oder während.
Für Klingonen ist das vielleicht verwirrend.
Mfg Martin
-
DeathcubeUK schrieb:
blurry333 schrieb:
Jaa aber warum 2 kopfgesteuerte Schleifen wenn es auch eine tut
Ja, mit einer**
for
-Schleife kannst Du einewhile
-Schleife emulieren, indem Du den Initialisierungsteil und den Anweisungsteil derfor
**-Anweisung leer lässt....
Außerdem: Mit**
while
kannst Du auch einedo...while
-Schleife erzeugen. Und das kannst Du nicht mitfor
**emulieren...Das ist ein Widerspruch. Wenn Du mit for auch while kannst und Du mit while auch do-while kannst, dann kannst Du mit for auch do-while.
Mfg Martin
-
ich kann mit
for
auchdo
...while
!?
-
Swordfish schrieb:
ich kann mit
for
auchdo
...while
!?for( bool first=true; first || <xxx>; first=false );
-
mgaeckler schrieb:
Das ist ein Widerspruch. Wenn Du mit for auch while kannst und Du mit while auch do-while kannst, dann kannst Du mit for auch do-while.
Mfg Martin
Nur wenn die Relation "kannst" transitiv ist, alter.
-
LOL, Respekt für blurry333.
Er hat euch schon wieder dermaßen getrollt, daß ihr seitenweise drüber diskutiert. Owned.Ich hoffe es war trolling und nicht ernst gemeint. Bei ihm kann man sich nicht immer so ganz sicher sein, wo der Fehler im biologischen OS liegt. Heisst nicht, dass ich mir nicht schon meine eigene Meinung über ihn gemacht hätte.
-
EOP schrieb:
Er hat euch schon wieder dermaßen getrollt, daß ihr seitenweise drüber diskutiert. Owned.
Keine einzige meiner Aussagen in diesem Thread war ernstgemeint. Ich brauch wohl ein Shirt mit dem Aufdruck "just trollin with" ...
-
Swordfish schrieb:
Keine einzige meiner Aussagen in diesem Thread war ernstgemeint.
Kommt mir irgendwie bekannt vor. :p
-
EOP schrieb:
int i = 10; do { } while ( --i );
->
int i = 10; start: if( --i ) goto start;
So ist es.
Die do-Schleife ist nur eine Schreibvereinfachung für einen bedingten Aufwärtssprung.
Die while-Schleife ist nur eine Schreibvereinfachung für das sehr oft vorkommende if(x) do cmd; while(x).
Die for-Schleife ist nur eine Schreibvereinfachung für das verdammt oft vorkommende init;while(x){cmd;inc;}.
Die Schreibvereinfachungen gegen einem irgendwann in Fleisch und Blut über und man vergißt das if-goto, was es eigentlich ist. Man darf das goto vergessen, kein Problem. Man darf es auch benutzen, kein Problem.