2012-01-21 76 views
2

Xlib具有一个称为XAllocSizeHints的功能,用于在堆上分配XSizeHints结构并将其设置为零。是否有必要使用xlib的“XAllocSizeHints()”?

XSizeHints *sizehints; 
sizehints=XAllocSizeHints(); 

但是,是否有必要始终使用此功能?或者,我可以这样做:

XSizeHints sizehints; 
memset(&sizehints, 0, sizeof(XSizeHints)); 

我想知道是否有可能避免XAllocWMHintsXAllocClassHint了。

回答

3

可以堆叠分配这些(只要在当前的 函数返回后你不保留它们)。这些alloc函数没有魔法。事实上,大多数代码可能会将它们分配到堆栈中。

+0

这就是我想知道的。谢谢。 – Eduardo

0

使用memset方法实际上更好,因为如果调用XAllocSizeHints(),则需要使用XFree()明确释放内存。