<p>C++中经常使用map来存储键值对,本章介绍python如何传递或返回c++ map键值对</p>
<p></p>
<p><strong>c++源码:src.cpp</strong></p>
<p>#include <iostream><br>
#include <string><br>
#include <map><br>
using namespace std;<br><br>
typedef map<string,int> simap;<br><br>
simap A()<br>
{<br>
simap m;<br>
m["aaa"] = 1;<br>
m["bbb"] = 2;<br>
m["ccc"] = 3;<br>
m["ddd"] = 4;<br>
m["eee"] = 5;<br>
m["fff"] = 6;<br><br>
return m;<br>
}</p>
<p><strong><br></strong>
</p>
<p><strong>为python做转换代码,src4py.cpp</strong>
</p>
<p>#include <boost/python.hpp> <br>
#include <boost/python/suite/indexing/map_indexing_suite.hpp><br>
#include "src.cpp"<br>
using namespace boost::python;<br>
BOOST_PYTHON_MODULE(test)<br>
{<br><br>
class_<simap>("pySImap")<br>
.def( map_indexing_suite<simap>() )<br>
;<br><br>
def("a",A);<br>
}</p>
<p><strong><br></strong>
</p>
<p><strong>python调用端代码</strong>
: test.py</p>
<p>import test<br>
mapcontainer = test.pySImap()<br>
mapcontainer = test.a()<br><br>
for i in mapcontainer:<br>
print i<br><br>
dict = {}<br>
for i in mapcontainer:<br>
key = i.key()<br>
dict[key] = i.data()<br>
print dict<br></p>
分享到:
相关推荐
该c++ web server基于boost.asio库编写,同时支持http和https协议。该工程基于vs2015编译通过,相关配置和说明见readme.txt
借助Boost.Python库可以将C/C++代码方便、快捷地移植到python模块当中,实现对python模块的扩充。首先,将C++下的代码编译为动态库,并将生成的动态库命名为封装模块的名字,如:用BOOST_PYTHON_MODULE(Module_Name)...
使用ONNXRuntime部署YOLOV7人脸检测关键点检测,含C++和Python两个版本.zip 代码完整下载可用,确保可以运行。 使用ONNXRuntime部署YOLOV7人脸检测关键点检测,含C++和Python两个版本.zip 代码完整下载可用,确保...
Boost.Asio C++ 网络编程 PDF 高清 非扫描 中文版
Boost.Asio provides an excellent abstraction over it, making sure that with a minimal amount of coding, you can create beautiful client-server applications and have tons of fun doing it. And it ...
为了方便大家使用MinGW(GCC)+_boost.python,特意只做了三个dll,可以很方便地将c++代码转为python模块. libboost_python-mgw45-1_49.dll libboost_python-mgw45-d-1_49.dll python27.dll 这三个文件我已放在资源...
基于OpenCV部署SCRFD人脸检测完整源码+全部数据(含C++和Python两版本).zip该项目是个人大作业项目源码,评审分达到95分以上,都经过严格调试,确保可以运行!放心下载使用。 基于OpenCV部署SCRFD人脸检测完整...
介绍:一个用python实现的...你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。 quantdsl 介绍: quantdsl包是Quant DSL语法在Python中的一个实现。Quant DSL 是财务定量分析领域专用语言
使用C++扩展Python功能的方法.pdf
解决fatal error LNK1104: cannot open file 'python38_d.lib'问题 由源码得到,版本python3.8,下载后放入到python目录下的libs文件夹即可
本人安装的是Python3,安装目录为C:\Python37; 1.下载boost库在windows下通过b2.exe自己尝试编译库文件,编译方法可参考本文。 boost库下载链接:下载链接 boost库编译方法:boost库编译方法 2.打开VS2019,新建类型...
基于OpenCV部署SCRFD人脸检测完整源码(含C++和Python两版本).zip使用OpenCV部署SCRFD人脸检测,包含C++和Python两种版本的程序实现,本套程序只依赖opencv库就可以运行, 从而彻底摆脱对任何深度学习框架的依赖。...
python27.lib,python27.dll,python27_d.lib,python27_d.dll win32和x64都有,用python2.7.14源码编译,2.7.13亲测可用
解决fatal error LNK1104: cannot open file 'python37_d.lib'问题 由源码编译过来的文献,版本python3.7,下载后放入到python目录下的Lib文件夹即可
VS c++ 调用Python3.7.x版本的程序,缺少python37_d.lib链接库,这里为你提供,亲测可以使用。
Yolo+决策(C++)项目源代码.zip基于ROS的足球机器人视觉Python_Yolo+决策(C++)项目源代码.zip基于ROS的足球机器人视觉Python_Yolo+决策(C++)项目源代码.zip基于ROS的足球机器人视觉Python_Yolo+决策(C++)项目...
Python-C++交互技术简介 Python-C++交互技术简介
基于ONNXRuntime部署Transformer的端到端实时车道线检测源码(python和c++版本)+模型.zip基于ONNXRuntime部署Transformer的端到端实时车道线检测源码(python和c++版本)+模型.zip基于ONNXRuntime部署Transformer的...
使用C++扩展Python功能的方法