c++ python交互之boost.python 简集之 vector处理
2011-04-14 18:59
519 查看
c++源码:src.cpp
#include <vector>
typedef std::vector<double> dvec;
dvec A()
{
dvec vec;
vec.push_back(1.0);
return vec;
}
python转换代码:src4py.cpp
#include <boost/python.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
#include "src.cpp"
using namespace boost::python;
BOOST_PYTHON_MODULE(test)
{
class_<dvec>("pyvector")
.def( vector_indexing_suite<dvec > () )
;
class_<std::vector<dvec> >("pyvector_vec")
.def( vector_indexing_suite< std::vector<dvec> > () )
;
def("a",A);
}
python调用代码:test.py
import test
#这里调用C++中的A()函数,会返回一个vector对象
a = test.a()
b = test.pyvector()
b = a
for i in b:
print i
b.append(2.0)
print "#----------------------------------------------"
for i in b:
print i
print "##----------------------------------------------"
c = test.pyvector_vec()
c.append(a)
c.append(b)
for i in c:
print i
for j in i:
print j
print "----------------------------------------------"
#include <vector>
typedef std::vector<double> dvec;
dvec A()
{
dvec vec;
vec.push_back(1.0);
return vec;
}
python转换代码:src4py.cpp
#include <boost/python.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
#include "src.cpp"
using namespace boost::python;
BOOST_PYTHON_MODULE(test)
{
class_<dvec>("pyvector")
.def( vector_indexing_suite<dvec > () )
;
class_<std::vector<dvec> >("pyvector_vec")
.def( vector_indexing_suite< std::vector<dvec> > () )
;
def("a",A);
}
python调用代码:test.py
import test
#这里调用C++中的A()函数,会返回一个vector对象
a = test.a()
b = test.pyvector()
b = a
for i in b:
print i
b.append(2.0)
print "#----------------------------------------------"
for i in b:
print i
print "##----------------------------------------------"
c = test.pyvector_vec()
c.append(a)
c.append(b)
for i in c:
print i
for j in i:
print j
print "----------------------------------------------"
相关文章推荐
- c++ python交互之boost.python 简集之 vector处理
- c++ python交互之boost.python 简集之Vector(map)混合使用
- c++ python交互之boost.python 简集之Vector(map)混合使用
- c++ python交互之boost.python 简集之Map处理
- c++ python交互之boost.python 简集之Map处理
- c++ python交互之boost.python 简集之普通函数
- c++ python交互之boost.python 简集之类(class , struct)
- c++ python交互之boost.python 简集之类(class , struct)
- c++ python交互之boost.python 简集之类成员变量设置
- c++ python交互之boost.python 简集之类成员变量设置
- c++ python交互之boost.python 简集之序列化(pickle)
- c++ python交互之boost.python 简集之序列化(pickle)
- c++ python交互之boost.python 简集之普通函数
- C++调用Python处理vector
- 用python,boost,c++进行人工智能开发
- [转]vs2010用 boost.python 编译c++类库 供python调用
- 利用C++ Boost编写扩展Python模块
- Python 与 C++ 的交互编程
- python c++ 交互之管道 pipe
- cocos2d-x学习笔记(十一)c++与lua交互回调函数的处理