C++——如何调用用户定义的运算符?

标签 c++

我看到了下面的代码片段:

class WindowHandle {
public:
  WindowHandle(WINDOW_HANDLE handle) : w(handle) {}
  ~WindowHandle() { destoryWindow(w); }

  operator WINDOW_HANDLE() { return w; }
  ...

private:
  WINDOW_HANDLE w;
  ...
}

这里的问题是:如何使用运算符 WINDOW_HANDLE() 来获取原始指针?我列出我的猜测如下:

WindowHandle win(createWindow());

WINDOW_HANDLE winPtr = win.operator WINDOW_HANDLE(); // I am not sure whether this is correct.

谢谢

最佳答案

简单

WINDOW_HANDLE winPtr = win;

就足够了。用户定义的运算符创建隐式转换。

关于C++——如何调用用户定义的运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5130757/

相关文章:

c++ - 如何在Visual Studio 2019中为LLVM -clang-cl添加编译器参数?

c++ - 从 std::map 中的 vector 获取数据

c++ - c库链接到什么点

c++ - 推送数组 C++?

java - 实现持久 B 树

c++ - 如何使用 libpd 从纯数据补丁接收命名信号?

c++ - 使用CUDA和纹理进行图像减法

c++ - 打印 __float128,不使用 quadmath_snprintf

c++ - 修改程序以加密大写和小写输入

c++ - 从 C++ 访问 objective-c