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

assigning void pointer to another void pointer

本文关键字:void 指针 另一个 分配      更新时间:2023-10-16

将 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

将一个空*分配给另一个空隙*,然后在其中一个上操作与在两个空隙上操作相同吗?

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

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

hPrevious = INVALID_HANDLE_VALUE; // now both handles are INVALID_HANDLE_VALUE

这只会修改hPrevious.hFile不会改变。指针在远距离没有任何幽灵般的动作,直到它们被取消引用*