Есть C++ класс такого вида. У него есть приватное поле window. И надо бы его в конструкторе моего класса тоже инициализировать как положено. Но тут я натыкаюсь на проблему: просто так взять и присвоить, как это я сделал ниже, нельзя.
Вопрос: как можно?
renderer.hpp
#define RENDERER_H
class Renderer
{
public:
Renderer();
...
private:
sf::RenderWindow window;
...
};
#endif // RENDERER_H
renderer.cpp
Renderer::Renderer()
{
sf::ContextSettings contextSettings(24, 8, 2);
this->window = sf::RenderWindow(..., contextSettings);
...
}
Из вашего кода не видно, нужен ли вам этот contextSettings
как самостоятельный именованный объект. Скорее всего не нужен. Тогда, например, так
Renderer::Renderer() : window{ ..., { 24, 8, 2 } }
{
...
}
или, если вам больше нравится,
Renderer::Renderer() : window(..., sf::ContextSettings(24, 8, 2))
{
...
}
Если же вам по какой-то причине все таки нужно (или хочется) отложить конструкцию sf::RenderWindow
, т.е. все таки перенести ее в тело конструктора, то можно, например, сделать window
указателем
std::unique_ptr<sf::RenderWindow> window;
и потом в конструкторе делать
Renderer::Renderer()
{
sf::ContextSettings contextSettings(24, 8, 2);
window = std::make_unique<sf::RenderWindow>(..., contextSettings);
...
}
А также начиная с С++17 вы можете использовать std::optional
std::optional<sf::RenderWindow> window;
и далее в конструкторе
Renderer::Renderer()
{
sf::ContextSettings contextSettings(24, 8, 2);
window.emplace(..., contextSettings);
...
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Необходимо проверять строку на соответствие регулярному выражению, если соответствует - true, если нет - falseПользуюсь вот такой конструкцией:
подскажите в чем проблема, делаю экспорт (через ajax отправляю данные) удаляю старый файл и в конце формирую заново файл, но имя одно и тоже
Словил интересную багу у себя, но понятия не имею как ее пофиксить, может кто сталкивался с подобной проблемойПо шагам
Помогите, пожалуйста, на js реализовать следующую задачу: