Verwendung intelligenter Zeiger in C++
Posted: 12 Jan 2025, 18:14
Ich möchte die Architektur meiner Engine (zu Bildungszwecken) auf Smart Pointern aufbauen. Ich sehe es so (Pseudocode):
Ich brauche Ihre Meinung und Kritik.
Code: Select all
class BaseEngineSystem {
public:
BaseEngineSystem(std::shared_ptr engine) {
engine_ = engine;
}
void LogWrite(LogLevel logLevel, std::string message) {...}
private:
std::shared_ptr engine_;
}
class InputSystem : BaseEngineSystem {
InputSystem(std::shared_ptr engine) : BaseeEngineSystem(engine)
...
}
class RenderSystem : BaseEngineSystem {
RenderSystem(std::shared_ptr engine) : BaseEngineSystem(engine)
...
}
class Engine {
public:
Engine() {
input_ = std::make_shared(this);
...
}
~Engine() {...}
...
private:
std::shared_ptr input_;
std::shared_ptr render_;
...
}