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

问题描述 投票:1回答:1

将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 *分配给另一个void *,然后对其中一个进行操作,与对两者进行相同操作?

c++ void
1个回答
2
投票
CloseHandle(hPrevious); // now both handles are invalid?

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

hPrevious = INVALID_HANDLE_VALUE; // now both handles are INVALID_HANDLE_VALUE

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

© www.soinside.com 2019 - 2024. All rights reserved.