refactor: fase 6 — Rule of 5 a Mapa i ModuleGame (no-copiables, no-movibles)
- Mapa té un JD8_Surface fondo propi que s'allibera al destructor: una còpia accidental provocaria double-free. Ara els 4 copy/move ops estan = delete. - ModuleGame ja era no-copiable implícitament per tindre unique_ptr members, però els = delete expliciten la intenció i protegeixen davant refactors futurs que afegeixquen tipus copiables. Fi de la modernització RAII per fases (1–6). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,11 @@ class Mapa {
|
||||
explicit Mapa(JD8_Surface gfx, Prota* sam);
|
||||
~Mapa(void);
|
||||
|
||||
Mapa(const Mapa&) = delete;
|
||||
Mapa& operator=(const Mapa&) = delete;
|
||||
Mapa(Mapa&&) = delete;
|
||||
Mapa& operator=(Mapa&&) = delete;
|
||||
|
||||
void draw();
|
||||
void update();
|
||||
bool novaMomia();
|
||||
|
||||
@@ -31,6 +31,11 @@ class ModuleGame : public scenes::Scene {
|
||||
ModuleGame();
|
||||
~ModuleGame() override;
|
||||
|
||||
ModuleGame(const ModuleGame&) = delete;
|
||||
ModuleGame& operator=(const ModuleGame&) = delete;
|
||||
ModuleGame(ModuleGame&&) = delete;
|
||||
ModuleGame& operator=(ModuleGame&&) = delete;
|
||||
|
||||
void onEnter() override;
|
||||
void tick(int delta_ms) override;
|
||||
bool done() const override { return phase_ == Phase::Done; }
|
||||
|
||||
Reference in New Issue
Block a user