gpt4 book ai didi

perl - 我是否必须释放用 newHV 创建的 HV*?

转载 作者:行者123 更新时间:2023-12-04 05:25:07 25 4
gpt4 key购买 nike

如果我编写了一些带有散列的 XS 代码,但我从不希望返回到 perl,我是否必须释放它?如果是这样,如何?

我想出的最接近的是 hv_undef,但这只是清除散列的内容,而不是散列本身,据我所知。

HV* hash = newHV();
...
use the hash
...
hv_undef(hash);

最佳答案

newHV (如 newSVnewAV 等)将新创建的值的引用计数设置为 1。要释放它, you just need to decrement it to 0 .对于 HV 没有特殊功能,所以只需使用 SvREFCNT_dec :

HV* hash = newHV();
/*
* use the hash
*/
SvREFCNT_dec((SV *) hash);

关于perl - 我是否必须释放用 newHV 创建的 HV*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14025175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com