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);
|
explicit Mapa(JD8_Surface gfx, Prota* sam);
|
||||||
~Mapa(void);
|
~Mapa(void);
|
||||||
|
|
||||||
|
Mapa(const Mapa&) = delete;
|
||||||
|
Mapa& operator=(const Mapa&) = delete;
|
||||||
|
Mapa(Mapa&&) = delete;
|
||||||
|
Mapa& operator=(Mapa&&) = delete;
|
||||||
|
|
||||||
void draw();
|
void draw();
|
||||||
void update();
|
void update();
|
||||||
bool novaMomia();
|
bool novaMomia();
|
||||||
|
|||||||
@@ -31,6 +31,11 @@ class ModuleGame : public scenes::Scene {
|
|||||||
ModuleGame();
|
ModuleGame();
|
||||||
~ModuleGame() override;
|
~ModuleGame() override;
|
||||||
|
|
||||||
|
ModuleGame(const ModuleGame&) = delete;
|
||||||
|
ModuleGame& operator=(const ModuleGame&) = delete;
|
||||||
|
ModuleGame(ModuleGame&&) = delete;
|
||||||
|
ModuleGame& operator=(ModuleGame&&) = delete;
|
||||||
|
|
||||||
void onEnter() override;
|
void onEnter() override;
|
||||||
void tick(int delta_ms) override;
|
void tick(int delta_ms) override;
|
||||||
bool done() const override { return phase_ == Phase::Done; }
|
bool done() const override { return phase_ == Phase::Done; }
|
||||||
|
|||||||
Reference in New Issue
Block a user