Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

11

30.03.2015, 20:38

Nox, deine Antwort geht nunmal an der Frage vorbei.
Die Frage war nicht, ob man Iteratoren auf Fehler überpüfen kann. Das er über die Existenz dieser Option bescheid weiß, stand schon im Eröffungsbeitrag. Die Frage war, warum sie nicht regulär auffangbare normale Exceptions werfen, wie man es als Java/C# Entwickler gewöhnt ist.

Die Antwort sind also nicht irgendwelche STL Optionen sondern schlicht und einfach die Tatsache, dass C++ als Zero Overhead Abstraction ausgelegt ist. Das garantierte überprüfen zum sicheren Abfangen würde gewaltigen Overhead verursachen und wird von der STL daher nicht durchgeführt. Was genau passiert, ist einfach undefiniert. Undefiniertes Verhalten schließt immer auch das zufällig ohnehin vorhandene Verhalten ein und ist somit die effizienteste Wahl.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

12

30.03.2015, 20:53

Pardon, da hast du natürlich recht. Ich dachte es wäre offensichtlich, dass zusätzliche Sicherheit eben kostet und ging primär auf die Aussage mit dem "Ich könnte mir zwar um solche Iteratoren eine Klasse bauen und diese dann an benutzen, aber wirklich sauber ist das nicht" ein.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

13

31.03.2015, 06:35

Wie gesagt, ich habe meine Antwort und kann damit nun leben ;)
Vielen Dank dafür!

Werbeanzeige