SDL2空闲空指针

时间:2015-07-31 18:34:32

标签: c++ c sdl sdl-2

这样做是否安全:

SDL_Window* window = NULL;
SDL_DestroyWindow(window);

或者我必须这样做:

if(window != NULL)
{
    SDL_DestroyWindow(window);
}

我知道在stdlib.h中使用free(void *)释放空指针是安全的,但我想知道SDL函数是否也是如此

1 个答案:

答案 0 :(得分:3)

The documentation doesn't say either way,但我可以从v2.0.3源代码中看到SDL_DestroyWindow确实有针对空指针输入的保护。

话虽如此,它没有文档记录,我甚至不能保证这个CHECK_WINDOW_MAGIC宏在所有构建模式中的可靠性,所以你应该采用if语句方法。

此外,如果你有一个NULL窗口,那我就会质疑你的设计。