作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 WindowHandler
的 SDL_Window
包装器类作为我的 Game
类中的类成员。最好,我想在我的 Game::init
方法中初始化 WindowHandler
。但是,该类没有 0 参数构造函数,因此如果我不在初始化列表中初始化 WindowHandler
变量,程序就会中断。有没有办法延迟对 Game::init
方法的初始化?
最佳答案
解决这个问题的一般方法是
unique_ptr<WindowHandler> window;
而不是普通的
WindowHandler window;
成员,那么就可以延迟调用它的构造函数了。
void Game::init(int arg) {
window = make_unique<WindowHandler>(arg);
}
而且还是会自动销毁。
(我在这里是技术人员,这是一个好设计还是坏设计,或者它是否违反了 RAII 超出了当前范围)。
关于c++ - 关于资源管理器类的 RAII 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35752518/
我刚开始使用 Dagger 2,想知道与我目前用来实现依赖注入(inject)的技术相比,它有什么优势。 目前,为了实现 DI,我创建了一个具有两种风格的项目:mock 和 prod。在这些风格中,我
我是一名优秀的程序员,十分优秀!