gpt4 book ai didi

c++ - 在 C++ 中处理对象

转载 作者:太空狗 更新时间:2023-10-29 19:40:58 26 4
gpt4 key购买 nike

有人告诉我句柄是一种“空”指针。但是“空指针”到底是什么意思,它的目的是什么。另外,"somehandle = GetStdHandle(STD_INPUT_HANDLE); 是做什么的?

最佳答案

一般意义上的句柄是唯一标识对象的不透明值。在此上下文中,“不透明”意味着分配句柄的实体(例如窗口管理器)知道句柄如何映射到对象,但使用句柄的实体(例如您的代码)则不知道。

这样做是为了让他们无法获得真正的对象,除非提供者参与,这允许提供者确保没有人在背后弄乱它拥有的对象。

由于非常实用,句柄传统上是整数类型或 void*,因为在 C 中使用原语比其他任何方法都容易得多。特别是,Win32 API 中的许多函数接受或返回句柄(#defined,具有各种名称:HANDLEHKEY、很多其他的)。所有这些类型都映射到 void*

更新:

回答第二个问题(尽管最好单独提问和回答):

GetStdHandle(STD_INPUT_HANDLE) returns a handle to the standard input device .您可以使用此句柄从进程的标准输入中读取。

关于c++ - 在 C++ 中处理对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6307686/

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