这样做安全吗:
SDL_Window* window = NULL;
SDL_DestroyWindow(window);
或者我必须这样做:
if(window != NULL)
{
SDL_DestroyWindow(window);
}
我知道在 stdlib.h 中使用 free(void*) 释放空指针是安全的,但我想知道 SDL 函数是否也是如此
最佳答案
The documentation doesn't say either way ,但我可以从 v2.0.3 源代码中看到 SDL_DestroyWindow
确实具有针对空指针输入的保护。
话虽如此,它没有记录,我什至无法保证这个 CHECK_WINDOW_MAGIC
宏在所有构建模式中的可靠性,因此您应该采用 if
语句方法。
此外,如果你可以有一个 NULL 窗口,那么我会质疑你的设计。
关于c++ - SDL2 释放空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31752896/