C++ ist eigentlich eine schöne Sprache, nur...
-
-
Badestrand schrieb:
Ich will nur mal anmerken, es ging um goto in C++. Und dafür fehlen noch die Argumente
Gerade auch durch RAII und Exceptions sind solche Aufräumkaskaden und Sprung zu Fehlerbehandlungen nicht mehr nötig .Naja... Ich bin expliziet nur auf C eingegangen. In C++ hab ich für goto noch keine Verwendung gefunden...
-
goto macht Spagetticode
goto ist schlecht

-
schlusswort-freak schrieb:
fazit:
in 100% aller fälle kommt man ohne 'goto' aus. die 2% aller fälle, bei denen ein 'goto' den code lesbarer oder einfacher gestalten würde, ignoriert man einfach und bastelt sich eine leicht umständlichere variante mit funktionen, flags oder was auch immer. so kann der überzeugte goto-hasser seinen code goto-frei halten, während weniger vorurteilsbehaftete programmierer im schnitt alle 1000 zeilen ihr 'gotochen' setzen dürfen. ...und alle sind zufrieden.

amen
-
Nein, das Amen zählt im C++-Forum nicht. Wer da auf alle 1000 Zeilen ein goto braucht macht was falsch. In C kommt das vielleicht hin.
-
ihr dreht euch im kreis

-
aber der sinn und unsinn von goto muss halt immer mal wieder diskutiert werden
-
und in 102% aller Fälle machen die goto setzer eine optimierung die der Compiler zu 99% schonmacht.
-
goto-freak schrieb:
Vevusio schrieb:
wer meint es gibt fett-gedruckt-immer bessere lösungen als gotos kann sich ja diesen artikel durchlesen
http://stevemcconnell.com/ccgoto.htmund natürlich den klassiker: http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pdf

Hab mir letzte Nacht den Artikel reingezogen. OMG ich haette nicht gedacht dass es um goto soviel Wirbel gibt.
Mir gefaellt dieser Satz hier:In other words, it seems that there is wide-
spread agreement that go to statements are
harmful, yet programmers and language
designers still feel the need for some euphe-
mism that "goes to" without saying go to.break, continue, Funktionen, closures, usw. sind doch alle Ersatz fuer ein (oder zwei) goto.
Vielleicht wuerde ich ueber goto anders denken wenn ich aus der 1960 Zeit kommen wuerde, in der Spaghetie-Code ueberhand nahm und mal ganze Buecher und Aufsaetze ueber fuer und contra goto geschrieben hat.
Aber ich denke ganz einfach: Goto ist in der Sprache drinner, also verwendet es, aber mit bedacht. Ich persoehnlich fand noch keine Verwendung fuer ein goto, aber es gibt gute Beispiele wo ein goto Sinn macht.
-
Einige der Argumente für goto unter C++ (habe die letzten Seiten nur überflogen) fallen mit Verwendung von "Resource Acquisition Is Initialization" (RAII) weg. Sowas wie nachfolgend ist nur nötig wenn man RAII nicht kennt oder nicht verwendet:
ProgChild schrieb:
schöner
if (!expr1) { [ aufräumen ] return FEHLER; } if (!expr 2) { [ aufräumen ] return FEHLER; } if (!expr3) { [ aufräumen ] return FEHLER; } if (!expr 4) { [ aufräumen ] return FEHLER; } // aufräumencu André
-
asc schrieb:
Einige der Argumente für goto unter C++ (habe die letzten Seiten nur überflogen) fallen mit Verwendung von "Resource Acquisition Is Initialization" (RAII) weg. Sowas wie nachfolgend ist nur nötig wenn man RAII nicht kennt oder nicht verwendet:
Schön, dass du die Seiten überflogen hast. Ich habe das explizit im Zusammenhang mit C nicht C++ genannt.

-
queer_boy schrieb:
ihr dreht euch im kreis

Weil hier die ganze Zeit Mist geredet wird, seit Seite 1.

-
ProgChild schrieb:
Schön, dass du die Seiten überflogen hast. Ich habe das explizit im Zusammenhang mit C nicht C++ genannt.

Du hast explizit Beispiele für C und C++ gebracht, und das C++ Beispiel war ein Beispiel das man nur ohne sinnvolle Ressourcenverwaltung (Objekte für Freigabe etc.) so stehen lassen kann (Die goto-Variante hat nichtmal einen Vorteil für das Lesen unter der Berücksichtigung des genannten). Daher habe ich mich genau darauf bezogen.
cu André
-
ProgChild schrieb:
Manchmal ist ein goto auch Sinnvoll. Zumindest in C.
[...]
In C++ braucht man sowas nicht mehr und es wäre auch nicht Exception-Sicher. Aber in C trägt sowas zu Lesbarkeit bei.asc schrieb:
Du hast explizit Beispiele für C und C++ gebracht
Bitte wo genau?
-
Bitte schließt den Thread hier kommt eh nichts mehr vernünftiges raus.
-
Ich habe gerade mal in der Special Edition 4. Auflage von Bjarne Stroustrup nachgelesen. Er sieht das ja offensichtlich nicht ganz so eng. Nachzulesen auf Seite 147 bis 148. Ein goto wäre im Beispiel vom Threadersteller sogar sinnvoll.