2012-01-21 60 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()明確釋放內存。