Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用C+嵌入\扩展Python时的复杂数据结构+;_C++_Data Structures_Extending_Python Embedding - Fatal编程技术网

C++ 使用C+嵌入\扩展Python时的复杂数据结构+;

C++ 使用C+嵌入\扩展Python时的复杂数据结构+;,c++,data-structures,extending,python-embedding,C++,Data Structures,Extending,Python Embedding,Python文档很好地介绍了。然而,在许多情况下,需要在语言之间传输复杂的数据结构 实现这一点的最佳方法是什么?并适当地填充tp_*attr成员。IIRC Boost.Python将为您完成大量繁重的工作。我真的需要创建一个新类型来将结构从C\C++传输到Python然后再传输回来吗?例如,是否有一种方法可以将其映射到字典?此外,如果我创建了一个新类型,我是否需要在它和C\C++中的C\C++数据结构之间转换数据?实际上,在C/C++和Python之间并没有“传输”任何内容;类型实例将结构作为成

Python文档很好地介绍了。然而,在许多情况下,需要在语言之间传输复杂的数据结构


实现这一点的最佳方法是什么?

并适当地填充
tp_*attr
成员。

IIRC Boost.Python将为您完成大量繁重的工作。

我真的需要创建一个新类型来将结构从C\C++传输到Python然后再传输回来吗?例如,是否有一种方法可以将其映射到字典?此外,如果我创建了一个新类型,我是否需要在它和C\C++中的C\C++数据结构之间转换数据?实际上,在C/C++和Python之间并没有“传输”任何内容;类型实例将结构作为成员保存,而
tp_*attr
函数来回转换数据。