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