加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

用于提升python的指针参数

发布时间:2020-12-17 00:51:58 所属栏目:Python 来源:网络整理
导读:使用指针作为参数的函数使用boost python的最佳方法是什么? 我看到文档中有很多返回值的可能性,但我不知道如何用参数来做. void Tesuto::testp(std::string* s){ if (!s) cout 最佳答案 据我所知,在做了一些关于这个主题的谷歌搜索之后,就是你不能.默认情况

使用指针作为参数的函数使用boost python的最佳方法是什么?
我看到文档中有很多返回值的可能性,但我不知道如何用参数来做.

void Tesuto::testp(std::string* s)
{
    if (!s)
        cout << " NULL s" << endl;
    else
        cout << s << endl;
}

>>> t.testp(None)
 NULL s
>>>       
>>> s='test'
>>> t.testp(s)
Traceback (most recent call last):
  File "
最佳答案
据我所知,在做了一些关于这个主题的谷歌搜索之后,就是你不能.默认情况下,Python不支持指针参数类型.如果你愿意,你可以手动编辑python解释器,但在我看来这是某种生产代码,所以这可能不是一个选择.

编辑:你可以像这样添加一个包装函数:

 
std::string * pointer (std::string& p)
{
    return &p;
}

然后调用您的代码:


>>> s = 'hello'
>>> t.testp (pointer (s))
hello
>>>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读