我正在使用glib,
它有很多函数可以返回应该自己释放的字符串.
我可以将这些功能传递给其他功能吗?
示例: function1返回必须为调用者释放的字符串. function2返回一个指向必须释放的字符串的指针.
gchar *string = function2(function1("something"));
g_free (string);
Run Code Online (Sandbox Code Playgroud)
我应该如何释放从function1返回的字符串?这有必要吗?
非常感谢,
对不起我的英语
是的,有必要释放返回的字符串function1.要允许您这样做,您需要获取返回值的副本: -
gchar* temp = function1("something");
gchar* string = function2(temp);
g_free(temp);
g_free(string);
Run Code Online (Sandbox Code Playgroud)