我对C ++比较陌生,这个宣言让我很困惑:
Service.h:
class ServiceHandle {
public:
ServiceHandle(SC_HANDLE h) : handle(h) {}
...
operator SC_HANDLE() const {return handle;}
protected:
SC_HANDLE handle;
};
我通过除此处列出的构造函数之外的其他方式创建了ServiceHandle
对象。我想让实际的SC_HANDLE
传递给ChangeServiceConfig
,我该怎么做?我假设它与操作员有关,但我无法弄清楚如何使用它。
答案 0 :(得分:4)
您只需在表达式ServiceHandle
中使用SC_HANDLE
类型的对象。您正在谈论的运算符是SC_HANDLE
的转换运算符。该运算符自动“使用”。
答案 1 :(得分:0)
这是一个铸造操作员。这可以称之为:
ServiceHandle s(some handle);
SC_HANDLE h = (SC_HANDLE)s;