Использование интеллектуальных указателей C++C++

Программы на C++. Форум разработчиков
Anonymous
Использование интеллектуальных указателей C++

Сообщение Anonymous »

Я хочу построить архитектуру своего движка (в образовательных целях) на интеллектуальных указателях. Я вижу это так (псевдокод):

Код: Выделить всё

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

Вернуться в «C++»