用于提升python的指针参数

前端之家收集整理的这篇文章主要介绍了用于提升python的指针参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用指针作为参数的函数使用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
>>>

猜你在找的Python相关文章