包装类的C++运算符重载

For*_*ega 0 c++ pointers operator-overloading wrapper

我正在使用一个名为Pointer的类,我猜这是一个真实指针的包装器.我认为这个类中的这行代码使我能够得到真正的指针:

 operator const T* () const;
Run Code Online (Sandbox Code Playgroud)

这究竟是什么意思?我怎么称呼这个?

假设myPointer是一个Pointer<int16_t>对象.我应该能够int_16*通过使用上面的运算符重载来获取包装此指针的对象,但我不知道如何.

编辑

根据答案,我现在知道我可以这样做:

const int16_t* myRealPointer = myPointer;
Run Code Online (Sandbox Code Playgroud)

现在假设我需要调用一个需要int16_t*参数的函数(所以没有const).如何将此myRealPointer对象传递给该函数?

and*_*ras 6

这是一个转换运算符.例如,您可以使用它将a转换Pointer<T>real T*,并且在T*预期的任何地方使用它:

Pointer<float> p(new float);
const float* p2 = p;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,操作符仅定义为转换为const原始指针,因此float* p2 = p;不起作用.(对于那种情况,也可能有类似的运营商.)