句柄是什么意思?句柄和指針有什么區別?下面是關于句柄和指針的一些介紹。
句柄(Handle)是一個是用來標識對象或者項目的標識符,可以用來描述窗體、文件等,值得注意的是句柄不能是常量 。
Windows之所以要設立句柄,根本上源于內存管理機制的問題,即虛擬地址。簡而言之數據的地址需要變動,變動以后就需要有人來記錄、管理變動,因此系統用句柄來記載數據地址的變更。在程序設計中,句柄是一種特殊的智能指針,當一個應用程序要引用其他系統(如數據庫、操作系統)所管理的內存塊或對象時,就要使用句柄。
句柄和指針有什么區別?
指針指向系統中物理內存的地址,而句柄是windows在內存中維護的一個對象內存物理地址列表的整數索引,句柄是一種指向指針的指針。也就是管理指針(內存地址)的工具。
句柄的作用范圍也是存在局限性的,你只能用句柄最終調用到對象,并作一些系統允許你做的事情,但是你拿到指針的話就能干任何事情了,比如破壞對象。當然,句柄的優點也是顯而易見的,句柄很明顯更方便管理,部分場景處理對象時比指針快。
以上就是有關什么是句柄?和指針有什么區別的介紹。