gpt4 book ai didi

c++ - 如何在 boost.python 中转换 std::string* ?

转载 作者:行者123 更新时间:2023-11-30 17:55:47 25 4
gpt4 key购买 nike

如何在boost.python中转换std::string*?我要在python中处理一些c++的数据。数据可能很大,所以我返回一个指向python的指针。但也有一些错误。

c++

#include <boost/python.hpp>
#include <string>

class A {
public:
A() {
data="342342fgsf";
ss=&data;
}
std::string *ss;
std::string data;
};

BOOST_PYTHON_MODULE(ctopy)
{
using namespace boost::python;
class_<A> ("A",init<>())
.add_property(ss,&A::ss)
;
}

python

import ctopy
t1=ctopy.A()
print t1.ss #error.TypeError:No to_python (by-value) converter found for c++ type:std::string*

最佳答案

你不能只传递指针。使用pointer_wrapper: http://www.boost.org/doc/libs/1_53_0/libs/python/doc/v2/ptr.html

关于c++ - 如何在 boost.python 中转换 std::string* ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13988200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com