c - 我必须 "free"rootValue,但是在返回它之前我该怎么做?

标签 c

JSON_Value* createJSONObject()
{
    JSON_Value *rootValue = json_value_init_object();
    JSON_Object *rootObject = json_value_get_object(rootValue);
    return rootValue;
}

我不能只返回 rootValue,因为我需要使用

json_value_free(rootValue);

否则内存将保持打开状态。我该怎么做?

最佳答案

您无法归还释放的任何内容。 (好吧,你可以做到,但行不通。)

在函数合约中声明,调用者必须在使用后释放返回值。

关于c - 我必须 "free"rootValue,但是在返回它之前我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32875828/

相关文章:

c - 将 WireShark 集成到我的应用程序中

c - 并行数组的元素之和?

c++ - 定义宏后的哈希符号?

c - 为库定义结构的最佳位置

c - 嵌套时切换大小写

c - Frama-c,非确定性浮点值

c++ - 我可以知道变量是否改变了它的值而不用在函数调用 C 中将它与以前的值进行比较吗?

将命令行参数复制到数组中

c - 如何将 char 转换为十六进制和二进制

python - libccv - 如何从内存中的字节读取图像