2

Xlib 有一个函数调用XAllocSizeHints来在堆上分配一个XSizeHints结构并将其设置为零。

XSizeHints *sizehints;
sizehints=XAllocSizeHints();

但是,有必要一直使用这个功能吗?或者我可以这样做:

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

我想知道是否XAllocWMHints可以避免XAllocClassHint

4

2 回答 2

2

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

于 2012-01-22T01:02:43.573 回答
0

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

于 2015-05-31T20:24:14.577 回答