4

好吧,我将 python 3.3 嵌入到 c++ 应用程序中。我希望在 c++ 端动态创建一个 python 类,就像我在 python 中执行以下操作一样:

my_type = type("MyType", (object,), dict())

我知道我总是可以导入“内置”模块,但我试图避免在 c++ 端导入。

谢谢!

4

1 回答 1

1

以下似乎工作得很好:

PyObject *type(const char *name, boost::python::tuple bases, boost::python::dict dict) {
    return PyType_Type.tp_new(&PyType_Type,
        Py_BuildValue("sOO", name, bases.ptr(), dict.ptr()), NULL);
}

感谢 Zack 为我指明了正确的方向!

于 2014-05-02T04:48:59.933 回答