我目前正在尝试将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()
??它到底是一个什么样的算子?