Jansson库中的json_delete函数

博客讲述了在C++中使用Jansson库处理JSON文件时遇到的问题,特别是关于json_delete函数的使用误区。作者发现json_delete在源码中被标记为不建议直接调用,因为当引用计数到0时,对象会自动释放。解决方案是理解并遵循库的内存管理机制。
摘要由CSDN通过智能技术生成

最近有读写json文件的需求,在网上找到一段代码


来源:[C++]使用Jansson生成与解析json字符串
自己用了这个json_delete函数,发现通不过编译,网上也找不到相关的说明。
查阅官方API参考,发现找不到这个函数。
查看源码,发现有注释

/* do not call json_delete directly */
void json_delete(json_t *json);

源码中告诉我们,不要直接调用这个函数。
为什么呢?
终于在github找到了答案。
原回答:
Don’t call json_delete, it’s done automatically when refcount drops to 0. The memory contents are still intact, but accessing the freed memory is an error nevertheless.

大概意思是不要调用json_delete,当引用计数到0时,会自动调用json_delete,问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值