C
@wob sagte in std: Iterator validity vs. pointer validity:
Warum wird der Rückgabewert von emplace verworfen? Emplace returnt dir doch schon den Wert, den du danach nochmals nachguckst.
Danke!
@wob sagte in std: Iterator validity vs. pointer validity:
Bei emplace kannst du auch direkt pool.emplace(a_id, V()) schreiben
Ich probier's aus - zumindest mit pool.emplace({a_id, V()}) meine ich, hätte es Probleme gegeben, da isser nicht von selbst drauf gekommen, welche Datentypen das pair haben sollte... kann mich täuschen
@wob sagte in std: Iterator validity vs. pointer validity:
Allerdings wird so immer ein V konstruiert, egal ob es schon vorhanden war oder nicht.
Richtig, im realen Code (ich weiss, den hätte ich auch posten sollen) wird vorher abgefragt, ob's schon existiert (wenn ja wäre das eine Fehlbenutzung)
@wob sagte in std: Iterator validity vs. pointer validity:
Wäre nicht viel besser, wenn deine App nur ein Central-Objekt hätte, das dafür aber keine static-Member hat?
Stimmt - architektonisch eindeutig besser.
Danke für die Tipps. Für konkreten Code muss ich erstmal ein kurzes nachvollziehbares Extrakt generieren - kann dauern, wird heute wohl leider nix mehr, sorry.
Update: Die Sache ist stattdessen ein Problem mit meiner Verwendung von SDL2, bei Gelegenheit werde ich im entsprechenden Unterforum einen Thread öffnen. Der Thread hier kann geschlossen werden, danke allerseits.
Update 2: Problem war trivial. Ich wollte aus einer SDL_Texture, die ein ganzes Tileset enthält, die einzelnen Tiles in eigene kleine SDL_Textures kopieren. Habe aber vergessen, nach jedem Tile auch SDL_RenderClear(SDL_Renderer*) aufzurufen, weshalb die Texturen dann letztlich aufeinandergestapelt rauskamen.