我使用 SDL 在 C++ 中开始了一个小游戏。我一直在研究指针和参考资料,我理解其中的区别。
int main(int argc, char* argv[])
{
SDL_Renderer* renderer = NULL;
TTF_Font* font = NULL;
renderer = SDL_CreateRenderer(window, -1, 0);
if(renderer == NULL)
{
return 1;
}
font = TTF_OpenFont("OpenSans.ttf", 12);
if(font == NULL)
{
return 1;
}
texture = renderText(...)
return 0;
}
SDL_Texture* renderText(...)
{
}
这是我程序的一部分,现在我需要将渲染器和字体对象传递给 renderText() 函数。我的问题是,我应该将它们作为指针(它们已经是)还是作为参考传递?
这就是我认为的样子:
SDL_Texture* renderText(SDL_Renderer* renderer,...)
{
}
renderText(renderer,...)
或者
SDL_Texture* renderText(SDL_Renderer &renderer,...)
{
}
renderText(*renderer,...)
同样稍后在 renderText() func 中,我必须将 SDL_Renderer 的指针传递给其他 SDL 函数,因此在第二种情况下我必须再次使用 &。