我在用Boost.Python包装C++库。在
<>我如何确保同一个Python实例(通过对象标识)总是返回一个特定C++实例(由指针标识)返回?我不能扩展C++类,但是如果有帮助,我可以添加一个成员变量(比如pyObjult*或Boosi::Python::句柄& lt;& gt)。我想我应该能够在C++实例中缓存Python实例,并返回缓存实例而不是创建一个新实例。但是,我不知道需要什么包装代码。在要包装的示例类:
class C {
public:
boost::python::handle<> wrapper_;
private:
C();
C(const C &);
~C();
};
有人能提供建议吗?在
在这个问题上花了一段时间后,我得出结论,这是麻烦大于价值。我已经辞职了,Id()将标识(可能是短暂的)包装对象而不是实际的C++对象。在
而不是用其他方法来识别我的C++对象,例如通过查看内容。在
相关问题 更多 >
编程相关推荐