この節のマクロはPythonオブジェクトの参照カウントを管理するために使われます。
PyObject *o) |
PyObject *o) |
PyObject *o) |
警告: (例えば__del__()メソッドをもつクラスインスタンスが メモリ解放されたときに)メモリ解放関数は任意のPythonコードを呼び出すことが できます。このようなコードでは例外は伝播しませんが、実行されたコードは すべてのPythonグローバル変数に自由にアクセスできます。 これが意味するのは、Py_DECREF()が呼び出されるより前では、 グローバル変数から到達可能などんなオブジェクトも一貫した状態に あるべきであるということです。 例えば、リストからオブジェクトを削除するコードは削除するオブジェクト への参照を一時変数にコピーし、リストデータ構造を更新し、それから 一時変数に対してPy_DECREF()を呼び出すべきです。
PyObject *o) |
以下の関数やマクロはインタプリタのコアの内部においてのみ使用するための ものです: _Py_Dealloc(), _Py_ForgetReference(), _Py_NewReference()。また、グローバル変数_Py_RefTotal も同様です。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。