c – Boost Python:多态容器?
发布时间:2020-12-16 22:03:49 所属栏目:Python 来源:网络整理
导读:我有一个方法(或函数),它返回对多态对象列表的引用: class A {};class B : public A {};std::list 我如何在boost :: python中公开这样的函数,以便在python中迭代列表时,我会看到不同类型的As和Bs? 最佳答案 首先,确保您的类确实是多态的(即它们至少有一个
我有一个方法(或函数),它返回对多态对象列表的引用:
最佳答案
首先,确保您的类确实是多态的(即它们至少有一个虚函数或一个虚析构函数).上面的例子没有,但我确定你的真实用例.没有这一点,Boost.Python的基于RTTI的多态机制都不会起作用.
然后,如果您已经使用Boost.Python和已注册的shared_ptr转换器为它们公开了这两个类:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |