【发布时间】:2011-05-08 02:41:54
【问题描述】:
我有一个关于 boost python 的问题。我一直在努力将项目的一些功能导出到 boost python 中,但我还没有找到解决以下问题的方法: 我有一组在整个游戏中存储和使用的 StatusEffect 对象。在游戏启动时,我希望能够调用一个 python 脚本来填充/添加到状态效果对象集。我在将 StatusEffect 类及其派生类暴露给 python 并调用脚本时没有问题。
问题是我将 StatusEffect 对象存储在 std::vector<boost::shared_ptr<StatusEffect> > Effects;
我不知道如何创建boost::shared_ptr<StatusEffect> 的新实例,除了这里描述的添加静态创建方法的方法http://wiki.python.org/moin/boost.python/PointersAndSmartPointers 鉴于我拥有大量的构造函数和各种各样的派生类,这似乎是一个不理想的解决方案最好。我希望能够直接使用 StatusEffect 对象的构造函数创建 boost::shared_ptr 的实例,并能够将它们添加到向量中。这可能吗?
回答或一些有用的建议会很有帮助。我昨天问了一个类似的问题,但不幸的是它没有太大帮助。
提前致谢
【问题讨论】:
标签: c++ boost-python