句柄是一个是用来标识对象或者项目的标识符,可以用来描述窗体、文件等,值得注意的是句柄不能是常量。Windows之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。简而言之数据的地址需要变动,变动以后就需要有人来记录、管理变动,因此系统用句柄来记载数据地址的变更。在程序设计中,句柄是一种特殊的智能指针,当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。
句柄的优势有哪些?
1、我们可以在实现中用尺寸大小固定的对象来表示尺寸大小不定的值。
2、我们可以在实现中用运行时绑定而不是编译时绑定的方式来处理对象。
3、对于实现的改变通常只会引起一次重新链接,而不是重新编译。
4、我们可以对他人隐藏对象的实现