C++ 如何释放XopenDisplay分配的资源

C++ 如何释放XopenDisplay分配的资源,c++,xlib,C++,Xlib,我有以下代码 bool isValidDisplay() { if (!XOpenDisplay(NULL)) { return false; } return true; } 据我所知,XOpenDisplay正在分配资源,在上面的代码中释放资源的正确方法是什么。调用XCloseDisplay会解决这个问题吗。是的,调用XCloseDisplay会释放成功的XOpenDisplay的结果 我猜这就是你想要的,立即释放资源 bool isValidDis

我有以下代码

bool isValidDisplay() {
   if (!XOpenDisplay(NULL)) {
      return false;
   }
   return true;    
 }

据我所知,XOpenDisplay正在分配资源,在上面的代码中释放资源的正确方法是什么。调用XCloseDisplay会解决这个问题吗。

是的,调用XCloseDisplay会释放成功的XOpenDisplay的结果

我猜这就是你想要的,立即释放资源

bool isValidDisplay() {
   Display *d;
   if (!(d = XOpenDisplay(NULL))) {
      return false;
   }
   XCloseDisplay(d);
   return true;    
 }
资料来源:

$ man XOpenDisplay

我今天只是在讨论如何释放动态分配的内存。在这样的库函数中实际看到它是很有趣的。我们在说什么图书馆?谢谢@lopezdp:这个库被称为X。这个库是Xlib,而不是X。后者是协议。耸耸肩我很确定回到我用-lX链接它的那一天。