gpt4 book ai didi

c++ - 如何将指向 SDL_Surface 的 "global"指针传递给 C++ 中类的渲染函数?

转载 作者:行者123 更新时间:2023-11-28 07:37:01 25 4
gpt4 key购买 nike

我的以下问题与我之前的问题有关 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com