函数宏
GLibPRIVATE_INIT
自版本:2.32
声明 [src]
#define G_PRIVATE_INIT (
notify
)
说明 [src]
辅助 GPrivate
静态初始化的宏。
当 GDestroyNotify
函数应该与键关联时,此宏很有用。当线程退出时,需要释放此键所指向的内存,因此需要此 macro。
此外,当 g_private_replace()
使用时,还将在键中存储的先前值上调用 GDestroyNotify
。
如果不需要 GDestroyNotify
,则不需要使用此宏 — 如果 GPrivate
在静态作用域中声明,则在默认情况下对其进行正确初始化(即:全部为零)。请参阅以下示例。
static GPrivate name_key = G_PRIVATE_INIT (g_free);
// return value should not be freed
const gchar *
get_local_name (void)
{
return g_private_get (&name_key);
}
void
set_local_name (const gchar *name)
{
g_private_replace (&name_key, g_strdup (name));
}
static GPrivate count_key; // no free function
gint
get_local_count (void)
{
return GPOINTER_TO_INT (g_private_get (&count_key));
}
void
set_local_count (gint count)
{
g_private_set (&count_key, GINT_TO_POINTER (count));
}
自 2.32 版开始提供
此函数不会直接为语言绑定提供。