Программы на C++. Форум разработчиков
Anonymous
Использование интеллектуальных указателей C++
Сообщение
Anonymous » 12 янв 2025, 20:14
Я хочу построить архитектуру своего движка (в образовательных целях) на интеллектуальных указателях. Я вижу это так (псевдокод):
Код: Выделить всё
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_;
...
}
Мне нужно ваше мнение и критика.
Подробнее здесь:
https://stackoverflow.com/questions/793 ... pointers-c
1736702042
Anonymous
Я хочу построить архитектуру своего движка (в образовательных целях) на интеллектуальных указателях. Я вижу это так (псевдокод): [code]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_; ... } [/code] Мне нужно ваше мнение и критика. Подробнее здесь: [url]https://stackoverflow.com/questions/79350335/using-smart-pointers-c[/url]