gpt4 book ai didi

c++ - 将 MS HANDLE 初始化为 nullptr 是否安全?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:04:34 26 4
gpt4 key购买 nike

我知道使用 nullptr 更“类型化”。它可以区分指针类型0,在函数重载和模板特化方面表现良好。

所以我不确定在每个 HANDLE/ 的旧 Win32 项目中将 NULL 替换为 nullptr 是否安全>HWND/HINSTNACE初始化用法?

任何建议都会有所帮助。谢谢

最佳答案

对于解析为指针类型的句柄,您可以使用 nullptr 而不是 NULL。大量句柄类型被 typedef 定义为指针,因此您应该不会遇到太多问题。

意味着可以使用NULLnullptr。一些调用返回 INVALID_HANDLE_VALUE ,在 VS2013 中定义为 ((HANDLE)(LONG_PTR)-1) 并依赖空值来指示无效/未打开的句柄可能会导致问题.例如CreateFile返回 INVALID_HANDLE_VALUE 而不是零值或空值。代码中所有采用空值的地方都表示未打开的句柄可能会导致问题。

关于c++ - 将 MS HANDLE 初始化为 nullptr 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23233710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com