C++句柄是干嘛用的?该怎么用呢? 小白求解

2025-04-24 06:25:04
推荐回答(2个)
回答1:

李太白!!!!
好歹看看书啊!句柄百度百科里面有!
“句柄,是整个windows编程的基础,一个句柄是指使用的一个唯一的整数值,是指一个四字节长的数值,用于标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等,应用程序能够通过句柄访问相应的对象的信息。但是,句柄不是一个指针,程序不能利用它句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,它是毫无用处的。 句柄是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来标志很多对象。

回答2:

句柄是用来管理资源的,在运用到继承,多态是非常有效的方法;举个简单的例子
#include
#include
using namespace std;
//定义继承类
class base{
public:
virtual void show()=0;
};
class derive1 :public base{
string der1;
public:
derive1(string n=string())
:der1(n){}
virtual void show()
{cout<};
class derive2 :public base{
string der2;
public:
derive2(string n=string())
:der2(n){}
virtual void show()
{cout<};
//定义句柄
class Handle{
private:
base *p;
size_t use;
public:
Handle(base *bp)
:p(bp),use(1){}
//以p 具体对象实现多态
void show(){p->show();}
};
int main()
{
Handle h1(new derive1("d1"));
Handle h2(new derive2("d2"));
h1.show();
h2.show();
system("pause");
}