1

によってPyObject作成されたPyBindGen場合、ラップされたC ++オブジェクトへのポインターを取得するのは簡単objで、構造体のメンバーを使用するだけです。

typedef struct {
    PyObject_HEAD
    MyWrappedClass *obj;
    PyObject *inst_dict;
    PyBindGenWrapperFlags flags:8;
} PyMyWrappedClass;

しかし、私がちょうど持っていて、それをラップする(もしあれば、それは存在しないかもしれない)MyWrappedClass*を取得したいとしましょう。PyObject私自身のバックポインターの辞書を維持せずにこれを行う方法はありますか?

4

1 に答える 1

-1

に慣れていないので十分な評判があればコメントとしてこれを追加したでしょうが、バックポインターの辞書でPyBindGenない限りinst_dict(名前が示すように)、あなたは運が悪いと思います(トロールしたい場合を除きます) Python ヒープにクラスのインスタンスがあるかどうかを確認します)。

于 2011-06-13T19:13:45.010 に答える