在GetQueuedCompletionStatus()的文档中,MSDN 说
这是通过为 OVERLAPPED 结构的 hEvent 成员指定一个有效的事件句柄并设置其低位来完成的。
假设事件是 HANDLE 类型,typedef 是 void *,我该如何使用 C++ 风格的强制转换来做到这一点?我不能直接将 |= 1 应用于指针,reinterpret_cast 仅在具有相同间接级别的类型之间转换,并且 static_cast 也不起作用。这样做的 C++ 方法是什么,避免 C 风格的转换并使用 C++ 风格的转换为 size_t?我知道另一种选择是使用联合,但这似乎比使用 C 样式强制转换更像是一种 hack。