C g_key_file_get_string()如何工作?
我无法理解此函数如何将字符串返回为C g_key_file_get_string()如何工作?,c,memory-leaks,glib,C,Memory Leaks,Glib,我无法理解此函数如何将字符串返回为gchar* 它是否为字符串存储动态分配内存?那么,在这种情况下,是否可能存在内存泄漏 typedef char gchar; gchar *g_key_file_get_string(GKeyFile *key_file, const gchar *group_name, const gchar *key,GError **error)
gchar*
它是否为字符串存储动态分配内存?那么,在这种情况下,是否可能存在内存泄漏
typedef char gchar;
gchar *g_key_file_get_string(GKeyFile *key_file,
const gchar *group_name,
const gchar *key,GError **error)
对不起,英语不好。老师说:
返回:新分配的字符串,如果找不到指定的键,则返回NULL
因此,是的,该函数在内部分配内存,您应该在使用后释放内存,以防止内存泄漏
根据一般经验,如果GLib函数希望您释放某些内容,则会返回gchar*
,如果不想,则返回const gchar*
。函数会说:
返回:新分配的字符串,如果找不到指定的键,则返回NULL
因此,是的,该函数在内部分配内存,您应该在使用后释放内存,以防止内存泄漏
作为一般经验法则,如果想让你释放一些东西,则GLUB函数倾向于返回<代码> GCHAR */C++ >,或<代码> const gCHAR */COD>如果它们不存在。
这不是C++。除此之外:文档说明了什么?这不是C++。除此之外:文档中说了什么?