Verfasst: Freitag 17. März 2006, 18:04
Pui, die 3 beruhigt mich jetzt aber extrem!
Hab echt schon vollkommen an mir selbst gezweifelt.
Das ganze Prob ist doch dann ebenso nicht vorhanden, wenn ich PyList_NewList(3) verwende, um eine Liste statt eines Tuples zu erstellen.
Bei PyList_SET_ITEM(x, y, z) verhält es sich ja analog zum Tuple, denn hier wird ja auch die Referenz gestohlen.
Sprich(Schreib): Der Knackpunkt wäre dann das PyList_NewList(3), denn dort wird der Speicher allokiert. Wenn ich dann in der For-Schleife weiter mit PyList_SET_ITEM(x,y,z) arbeite, allokiere ich ja keinen Speicher neu. Ich spiele lediglich Räuber Hotzenplotz mit den Referenzen der item.
Beim PyList_Append der 2-dimensionalen Liste am Ende der FOR-Schleife muss ich dann selbstverständlich wieder Py_DECREF()-fen.
Hab echt schon vollkommen an mir selbst gezweifelt.
Das ganze Prob ist doch dann ebenso nicht vorhanden, wenn ich PyList_NewList(3) verwende, um eine Liste statt eines Tuples zu erstellen.
Bei PyList_SET_ITEM(x, y, z) verhält es sich ja analog zum Tuple, denn hier wird ja auch die Referenz gestohlen.
Sprich(Schreib): Der Knackpunkt wäre dann das PyList_NewList(3), denn dort wird der Speicher allokiert. Wenn ich dann in der For-Schleife weiter mit PyList_SET_ITEM(x,y,z) arbeite, allokiere ich ja keinen Speicher neu. Ich spiele lediglich Räuber Hotzenplotz mit den Referenzen der item.
Beim PyList_Append der 2-dimensionalen Liste am Ende der FOR-Schleife muss ich dann selbstverständlich wieder Py_DECREF()-fen.