Список инициализации в синглтон-классе

Я решил переписать свой код и заменить все сырые указатели такими же, как умные указатели или ссылки. Тем не менее, я использую шаблон синглтона для некоторых из моих классов (Game, EntityManager, Input …) и не знаю, как инициализировать умные указатели. Проблема в том, что я использую SDL, и мне нужно установить указатель умного указателя.

std::unique_ptr<SDL_Window> window_(SDL_CreateWindow(...), SDL_DestroyWindow);

Это то, как я обычно это делаю, но я не знаю, как это сделать, когда указатели являются частным членом синглтон-класса, и я не могу передать аргументы конструктору класса (например, имя окна, ширина, высота). .).

class Game
{
private:
std::unique_ptr<SDL_Window> window_;

Game();
~Game();

public:
static Game& getInstance();
};

Спасибо за ответы.

0

Решение

Вы все еще можете использовать список инициализатора члена:

Game::Game()
: window_(SDL_CreateWindow(...), SDL_DestroyWindow)
{
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector