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
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 |
foreach(std::vector<bla*>, i, Bla) foreach(std::vector<dword>, j, (*i)->Blub) if(blubber(*j) == 0) { hui(*j); i = Bla.begin(); j = (*i)->Blub; } |
Zitat von »"Helmut"«
Oder was empfehlt ihr hier:
C-/C++-Quelltext
1 2 3 4 5 6 7 8 Again: foreach(std::vector<bla*>, i, Bla) foreach(std::vector<dword>, j, (*i)->Blub) if(blubber(*j) == 0) { hui(*j); goto Again; }
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
bool IsHuiThere() { foreach(std::vector<bla*>, i, Bla) foreach(std::vector<dword>, j, (*i)->Blub) if(blubber(*j) == 0) { hui(*j); return true; } return false; } while (IsHuiThere()); |
C-/C++-Quelltext |
|
1 |
while (IsHuiThere());
|
Ich meinte auch eher ausserhalb. Aber ich kenn dein Problem nicht genau genug, um spezifisch zu antworten. Jedoch wäre mir bereits die Verringerung der Zeitkomplexität Anreiz genug, wenigstens darüber nachzudenken. Auch das "mit allen vorherigen vergleichen" macht mich etwas stutzig, meinst du nicht, hier gibt es eine effizientere Lösung? Sorry, falls ich mich total irre, kann gut sein, dass alles okay ist. Ich bin halt noch schnell skeptisch, wenn ein Algorithmus viele solche Operationen beinhält.Zitat von »"Helmut"«
Naja Markierung ginge nicht so gut. Sind schließlich Pointer. Höchstens indem man in nem Set die Indizes merkt oder so.. Außerdem werden am Ende der Schleife das Aktuelle mit allen vorherigen Elementen verglichen, es würde also den Algo ändern.
Wie würdest du die For-Schleifen beschreiben, was tun die? Einen sinnvollen Namen zu finden sollte eigentlich möglich sein. Das Problem hättest du ja auch, wenn du Kommentare statt eigene Funktionen einsetzen würdest.Zitat von »"Helmut"«
Ich mache das doch genauso. Wann immer es Sinn macht, etwas auszulagern, tue ich das auch. Im Beispiel oben macht es aber meiner Meinung nach keinen Sinn. Ich wüsste nichtmal, wie ich die Funktion nennen sollte.
Alter Hase
Zitat von »"Gotbread"«
[...] übrigens wird const_cast sogar in einem buch [...] empfohlen. hatte was mit der const und nicht-const version von operator[] zu tun oder sowas
Zitat von »"drakon"«
Aber wenn man mal genug Erfahrung hat, dann gilt das gleiche wie immer. Wenn man weiss, was man tut, dann sind alle Sprachmittel erlaubt.
Zitat von »"David_pb"«
Zitat von »"drakon"«
Aber wenn man mal genug Erfahrung hat, dann gilt das gleiche wie immer. Wenn man weiss, was man tut, dann sind alle Sprachmittel erlaubt.
Diese Einstellung kann dir auch schnell mal den Job kosten!
Zitat von »"Helmut"«
@Gotbread
Du hast den Code nicht verstanden
Werbeanzeige