0
我有一個函數可以創建一個C++對象。在重構之前,我從C++函數返回一個指針,並且在boost python wrapper 聲明中,我將使用boost::python::return_value_policy<boost::python::manage_new_object>
。事情是這樣的:如何在boost python中爲返回的對象指定返回策略
MyObject* create_object_from_description(std::string& description)
{
...
return myObject;
}
BOOST_PYTHON_MODULE(pymol) {
boost::python::def("create_obj_from_desc", create_object_from_description,
(boost::python::arg("description")),
"",
boost::python::return_value_policy<boost::python::manage_new_object>()
);
現在我需要的不僅僅是要返回的對象較多,但也有一些錯誤信息,並重構基本改變了C++的功能,讓它返回一個元組:
boost::python::tuple create_object_from_description(std::string& description)
{
...
return boost::python::make_tuple(myObject, errmsg);
}
我應該如何指定這種更改的退貨政策?
我結束了使用智能指針並停止擔心這個問題。 – 2011-02-02 05:32:13