我如何使用 c++ 迭代 python 中的地图通过 swig 创建的扩展
在我的 C++ 扩展中,我有一个名为的公共方法: 地图 getMap();
我已将头文件包含到 Example.i 接口文件中。
但是当我在 python 中时,如何通过地图进行交互呢?
In my c++ extension i have a public method called:
map getMap();
I have include the header files in to the Example.i interface file.
But how can i interate thru the map hwhen i am in python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
工作示例(Windows)。重要的一点是,您必须使用
%template
语句实例化要公开的每个模板(请参阅xi
文件),并为其分配一个合法的 Python 名称。x.cpp
x.h
x.i
makefile
用法:
Working example (Windows). An important point is you must instantiate each template you want to expose with the
%template
statement (seex.i
file) and assign it a legal Python name.x.cpp
x.h
x.i
makefile
Usage:
您应该能够像使用 python 字典一样使用地图。它支持 iteritems、iterkeys 等。您的代码中是否有
%include "std_map.i"
?你有 %template 语句吗?由于您没有显示代码,因此很难猜测。You should be able to use the map just like you would a python dict. It supports iteritems, iterkeys, etc. Do you have a
%include "std_map.i"
in your code? do you have a %template statement? It's pretty tough to guess since you didn't show your code.