0

我目前正在尝试将LibRealsense包装到 Unreal 4 插件中。这个库提供了一些 C API 和一些 C++ API(包装它的 C API),所以我正在做 C++(这对 Unreal 来说很有意义)。

但是有一种我以前从未见过的运算符重载(在rs_pipeline.hpp中):

class pipeline
{
public:

    pipeline(context ctx = context())
...
    operator std::shared_ptr<rs2_pipeline>() const
    {
        return _pipeline;
    }

private:
    context _ctx;
    std::shared_ptr<rs2_pipeline> _pipeline;
}

rs2_pipeline是管道的 C 类型,它在所有 c++ 类中作为共享指针访问。例如:

 class config
 {
 public:
 ...
     bool can_resolve(std::shared_ptr<rs2_pipeline> p) const
 ...
 }

因此,当我尝试config.can_resolve使用我的 C++“管道”对象调用时,我需要获取内部的shared_ptr<rs_pipline>. 但是我该怎么打电话operator shared_ptr<rs_pipline()??它到底是一个什么样的算子?

4

0 回答 0