Python "type(<name>, <bases>, <dict>)"在 c++ 中的等效性是什么?



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

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

我知道我总是可以导入" builts "模块,但我一般都尽量避免在c++端导入。

谢谢!

下面的代码似乎可以正常工作:

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为我指出了正确的方向!

最新更新