2

我正在用 OpenGL 编写一个程序。有一个Gfx类包含 OpenGL 上下文并包装了 OpenGL 库。还有一个Texture类包含 OpenGL 纹理名称(包括生成和删除)。类自然对Texture类具有隐式依赖Gfx。但我想要 RAII,没有指针,因此认为Texture该类必须是可公开访问的。

Gfx表达对构造实例的依赖的最简洁方式是什么?

4

1 回答 1

0

假设纹理在没有上下文的情况下无法存在,看起来构造函数参数在这种情况下是正确的,可能是一个std::shared_ptr<Gfx>(希望这是从你的无指针策略中排除的——我认为它是一个 C++ 构造)。这样,只要至少一个 Texture 没有被释放,Gfx 就会一直存在。

于 2013-08-20T17:19:04.967 回答