我的以下问题与我之前的问题有关 here .
我想将“全局”屏幕传递给类的渲染函数。屏幕必须是指向 SDL_Surface 的指针,因为初始函数 SDL_SetVideoMode返回指向 SDL_Surface 的指针。
我应该通过引用渲染函数来传递屏幕(在 int main(){} 中设置)吗?
void renderClass::render (SDL_Surface &screen){...}
编辑: 或者我应该使用指针?:
void renderClass::render (SDL_Surface *screen){...}
或者我应该简单地使用
extern SDL_Surface *screen;
在每个头文件中。 (因为我使用了多个源文件)
或者有什么更好的方法吗?我只想摆脱指针。
最佳答案
我会把它传下去。如果您需要使用相同的函数呈现两个屏幕(或窗口),则必须重新构建 [除了通常使用全局变量的可怕之处]。
编辑:而且我认为将其设为指针而不是引用没有任何意义。在事物之下,它将是同一事物。
关于c++ - 如何将指向 SDL_Surface 的 "global"指针传递给 C++ 中类的渲染函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16605941/