私の知る限り、PyList_SetItemとPyList_SETITEMの違いは、PyList_SetItemは上書きするリスト項目の参照数を減らし、PyList_SETITEMは下げないことです。
いつもPyList_SetItemを使うべきではない理由はありますか?または、PyList_SetItemを使用してリスト内のインデックス位置を初期化すると、問題が発生しますか?
私の知る限り、PyList_SetItemとPyList_SETITEMの違いは、PyList_SetItemは上書きするリスト項目の参照数を減らし、PyList_SETITEMは下げないことです。
いつもPyList_SetItemを使うべきではない理由はありますか?または、PyList_SetItemを使用してリスト内のインデックス位置を初期化すると、問題が発生しますか?
PyList_SET_ITEM
基本的に、バインドされたチェックなしでオブジェクトをリストの内部ポインター配列に貼り付ける安全でないマクロです。NULL
リストのi
番目の位置に以外のものがあると、参照リークが発生します。PyList_SET_ITEM
リストに入れたオブジェクトへの参照を盗みます。も参照を盗みますが、境界をチェックし、 th の位置PyList_SetItem
にある可能性のあるものをすべて derefs します。i
経験則は、PyList_SET_ITEM
作成したばかりのリストを初期化するために使用されPyList_SetItem
ます。PyList_SetItem
また、どこでも安全に使用できます。PyList_SET_ITEM
基本的にスピードハックです。