有关函数中临时变量的Py_DECREF

时间:2019-04-25 22:55:01

标签: python python-c-api

根据Py_INCREF/DECREF: When中接受的答案,由函数创建但未显式返回的Python对象应通过DECREF减少其引用计数。该准则适用于临时变量吗?例如,我可以这样:

void PythonInterface::SetModule (const char *filename)
{
  PyObject *name = PyUnicode_DecodeFSDefault (filename);
  _module = PyImport_Import (name);
  Py_XDECREF (name);
}

或者这个:

void PythonInterface::SetModule (const char *filename)
{
  _module = PyImport_Import (PyUnicode_DecodeFSDefault (filename));
}

这两位代码是否相同,还是第二个示例会引起问题?

0 个答案:

没有答案