В соответствии с принятым ответом в Py_INCREF / DECREF: когда , для объектов 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));
}
Являются ли эти два бита кода идентичными, или второй пример вызовет проблемы?