将void指针分配给另一个void指针

时间:2019-10-21 01:17:13

标签: c++ void

将void指针分配给另一个void指针是否安全,以使两个指针都指向同一事物,然后对其中之一进行操作。

例如,我正在尝试执行以下操作:(仅作为示例) HANDLE的类型定义为void*

HANDLE hPrevious = INVALID_HANDLE_VALUE;

HANDLE hFile = CreateFile(...);

hPrevious = hFile; // assigning

CloseHandle(hPrevious); // now both handles are invalid?

hPrevious = INVALID_HANDLE_VALUE; // now both handles are INVALID_HANDLE_VALUE

// hFile is released

是否将一个void *分配给另一个,然后对其进行操作与对两者进行相同操作?

1 个答案:

答案 0 :(得分:2)

CloseHandle(hPrevious); // now both handles are invalid?

是的,他们现在都关闭了。

hPrevious = INVALID_HANDLE_VALUE; // now both handles are INVALID_HANDLE_VALUE

这仅修改hPrevioushFile不变。指针在被*取消引用之前,不会有任何诡异的动作。