是PySys_SetObject窃取了对对象v的引用,还是应该递减它的引用计数器?
PyObject *my_obj = PyUnicode_FromString("my_string_path");
int ret = PySys_SetObject("path", my_obj);
Py_XDECREF(my_obj); // Should I decref it?我是否应该假设,每当文档没有指定函数窃取引用时,我应该总是递减其引用计数器?
同样的问题也适用于PyList_Append (PyList_SetItem指定窃取行为)。
发布于 2019-11-27 00:26:07
我应该假设只要文档没有指定函数窃取引用,我就应该总是递减它的引用计数器吗?
显然是这样的。当调用PySys_SetObject("name", v)时,它会递增v引用计数器。它还会递减sys模块中名为"name"的任何对象的引用计数器(如果存在)。
https://stackoverflow.com/questions/58963274
复制相似问题