Python中文
首页
教程
问答
标签
搜索
登录
注册
带swig的自动ptr
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
我试图包装一个使用AutoTypTR的C++库。我用的是威士忌 并希望生成python绑定。我看过swigdocu中关于如何使用swig和智能指针<a href="http://www.swig.org/Doc2.0/SWIGDocumentation.html#SWIGPlus_smart_pointers" rel="nofollow noreferrer">here</a>的部分。但我不能让它工作。在</p> <p>Swig生成的代码希望使用const初始化auto-ptr 引用,但auto ptr用非常数定义复制构造函数 参考,例如auto_ptr(auto_ptr&;)。生成的 代码不使用“discards const限定符”编译。当我手动 delete const编译fine限定符代码。在</p> <p>我看到了很多邮件列表条目,但没有任何帮助。有人能吗 给我举个例子。我的非工作样本在这里:</p> <pre><code>%module auto_ptr_test %{ #include <memory> #include <iostream> using namespace std; %} namespace std { template <class T> class auto_ptr { auto_ptr(); auto_ptr(auto_ptr &); T *operator->() const; }; } %inline %{ class Test { Test() { cout << "Test()" << endl; } public: static std::auto_ptr<Test> create() const { return auto_ptr<Test>(new Test()); } void greet() { cout << "hello" << endl; } }; %} %template () std::auto_ptr<Test>; </code></pre> <p>我用cmake编译了它CMakeLists.txt文件公司名称:</p> ^{pr2}$
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我不相信你能成功地用SWIG包装这段代码。问题是auto-u-ptr在复制时会更改所有权。这就是为什么它要求复制构造函数没有const。SWIG在内部管理对象所有权的方式意味着,如果没有大量自定义SWIG代码,您不太可能获得所需的所有权行为。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
10 回答
文本小部件:在没有输入时更新并在循环后保持空闲
7 回答
文本小部件tkin
6 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
1 回答
文本小部件tkinter复制图像选项
6 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
9 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
2 回答
文本小部件不显示lis中的内容
7 回答
文本小部件不显示Unicode字符
2 回答
文本小部件中写入的行间距
10 回答
文本小部件中的文本作为变量
7 回答
文本小部件中的滚动条仅显示在底部
8 回答
文本小部件中的选项卡键空间计数
10 回答
文本小部件作为Lis
5 回答
文本小部件在主框架中扩展列宽
1 回答
文本小部件未使用删除功能清除
2 回答
文本小部件滚动动画(Tkinter、Python)
1 回答
文本居中。格式正确吗?
6 回答
文本差分算法
5 回答
文本已知时音频文件中的单词索引
3 回答