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
Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von »IaSfC« (27.10.2015, 15:48)
Verbesserungsvorschläge sind gerne willkommen
C-/C++-Quelltext |
|
1 2 |
int result = 0; while( CEngine::IsRunning() && m_bRunning && result == 0 ) |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Wieso sollte das fehschlagen? Und wieso sollte es nullptr zurückliefer? Wenn new fehlschlägt, wirft es eine Exception. Der IF-Block wird jedenfalls nie betreten werden. Zusätzlich wäre bei Heap-Elementen auch unique_ptr zu empfehlen. Wir leben schließlich in 2015 Wozu allerdings das Event überhaupt auf dem Heap liegen sollte... mir fällt da kein Grund für ein.
C-/C++-Quelltext
1 2 m_pEvent = new SDL_Event(); if( m_pEvent == nullptr )
Was zur Hölle ist denn das? Das habe ich ja noch nie gesehen! Das ist äußerst bedenklich. Mal davon abgesehen, dass deklariert nur mit einem t geschrieben wird.// Main wird hier als nicht definiert deklariertt
#undef main
Um Gottes Willen! Genau dafür sind Konstruktor und Destruktor da! Solche init-deinit-Methoden gehören verboten, auf den Müll geworfen und vergessen. Das ist super schlechter Stil, der etwas produziert, was eigentlich in C++ wunderbar funktioniert, wenn man es richtig macht!result = game.Initialize();
...
game.Finalize();
Von Elementen, die mit zwei Unterstrichen beginnen, sollte man die Finger lassen. Diese Art der Deklaration ist für Compiler-spezifische Dinge vorgesehen.#ifndef __ENIGNE_H__
Nein, bitte nicht! So ein schlechtes Beispiel sollte nicht auch noch auf github liegen, da liegt schon viel zu viel schlechter Code.Ab damit auf GitHub
Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von »BlueCobold« (27.10.2015, 07:09)
Was zur Hölle ist denn das? Das habe ich ja noch nie gesehen! Das ist äußerst bedenklich. Mal davon abgesehen, dass deklariert nur mit einem t geschrieben wird.// Main wird hier als nicht definiert deklariertt
#undef main
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Danke, und nur weil BlueCobold so etwas noch nie gesehen hat, bedeutet das nicht das man es nicht macht. Und Rechtschreibfehler passieren.Kann man auch. Ich persönlich undefe meistens.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »IaSfC« (27.10.2015, 12:56)
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Das macht es ehrlich gesagt sogar noch schlimmer, wenn jemand so schlechten Code direkt verwenden soll.es steht ganz oben das dies kein Tutorial ist, sondern ein Framework.
Nur weil es jemand anders macht, macht es das nicht besser. Solche Sachen gehören in den Konstruktor oder Destruktor.Hast du dir mal auf SDL-Samples (http://www.sdltutorials.com/tutorials) das Basic Tutorial angesehen?? Auch hier wird eine eigene Initialize() verwendet. (...) Soviel zum thema sowas gehört auf den müll, das machen Konstruktor und Destruktor.
Aha, also eine indirekte Behauptung, dass andere ihr Zeug nur deshalb richtig schreiben, weil sie Copy+Paste verwenden? Sorry, aber das meinst Du hoffentlich nicht ernst. Das sind drei Zeilen winziger Code und so offensichtlich unlogisch, dass ich nicht nachvollziehen kann, wieso man das von Hand schreibt und es nicht merkt.kommt davon wenn man schreibt und nicht Copy Pastet.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (27.10.2015, 13:13)
Werbeanzeige