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

标签 c++ reference sdl extern

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

相关文章:

c++ - 返回对通过其接口(interface)指向的对象的引用

c++ - 通过 SDL 1.2 的多个窗口?

python - pyGTK 应用程序中的 pyGame

c++ - 向/从二进制文件写入/读取 std::set< T >

c++ - 对于 C++ 中的函数参数奇数循环

c++ - 多线程:apache 可移植运行时与 boost::thread?

c++ - 读取数字文本文件并存储到 C++ 中的整数数组中

c++ - 从函数返回引用并修改它

c++在构造self期间将* this作为引用传递

C++ 奇怪的函数指针行为