, , )"的等价物是什么?-6ren"> , , )"的等价物是什么?-好吧,我正在将 python 3.3 嵌入到 C++ 应用程序中。我希望在 C++ 端动态创建一个 Python 类,就像我在 Python 中执行以下操作一样: my_type = type("My-6ren">
gpt4 book ai didi

python - c++中python "type(, , )"的等价物是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:17:35 24 4
gpt4 key购买 nike

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

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

我知道我总是可以导入“builtins”模块,但我一般会尽量避免在 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 为我指明了正确的方向!

关于python - c++中python "type(<name>, <bases>, <dict>)"的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23419254/

24 4 0