句柄

句柄

标識符
句柄(Handle)是一個是用來标識對象或者項目的标識符,可以用來描述窗體、文件等,值得注意的是句柄不能是常量。句柄是WONDOWS用來标識被應用程序所建立或使用的對象的唯一整數,WINDOWS使用各種各樣的句柄标識諸如應用程序實例,窗口,控制,位圖,GDI對象等等。WINDOWS句柄有點象C語言中的文件句柄。從定義中的我們可以看到,句柄是一個标識符,是拿來标識對象或者項目的,它就象我們的姓名一樣,每個人都會有一個,不同的人的姓名不一樣,但是,也可能有一個名字和你一樣的人。
    中文名:句柄 外文名:Handle 别名: 定 義:标識對象或者項目的标識符 領 域:數理科學 由 來:源于内存管理機制—虛拟地址 本 質:一種标識符

簡介

句柄(handle)是C++程序設計中經常提及的一個術語。它并不是一種具體的、固定不變的數據類型或實體,而是代表了程序設計中的一個廣義的概念。句柄一般是指獲取另一個對象的方法——一個廣義的指針,它的具體形式可能是一個整數、一個對象或就是一個真實的指針,而它的目的就是建立起與被訪問對象之間的唯一的聯系。

在C++中,要訪問一個對象,通常可以建立一個指向對象的指針。但是在很多具體的應用中,直接用指針代表對象并不是一個好的解決方案。雲存儲是目前的一種新的存儲模式,它不是一個傳統的硬件存儲設備(如磁盤、光盤等),而是一種由專門的雲存儲服務供應商提供的服務,任何用戶隻需支付一定的費用,都可以使用這種存儲服務。用戶和程序可以像訪問本地文件系統一樣,透明的訪問存儲在遠端系統上的文件。

編輯

句柄是Windows系統中對象或實例的标識,這些對象包括模塊、應用程序實例、窗口、控制、位圖、GDI對象、資源、文件等

數據類型

從數據類型上來看,它隻是一個16位的無符号整數。應用程序總是通過調用WindowsAPI獲得一個句柄,之後其他Windows函數就可以使用該句柄,以引用和操作相應的内核對象。句柄可以像指針那樣置空,那樣句柄就沒有任何意義,不代表任何内核對象。

使用

句柄在Windows編程中是一個很重要的概念,在Windows程序中并不是用物理地址來标識一個内存塊、文件、任務或動态裝入模塊的。相反地,Windows API給這些項目分配确定的句柄,并将句柄返回給應用程序,然後通過句柄來進行操作。

應該明白的是,句柄是一個标識符,是用來标識對象或者項目的。從數據類型上來看它隻是一個16位的無符号整數。應用程序幾乎總是通過調用一個Windows函數來獲得一個句柄,之後其他的Windows函數就可以使用該句柄,以引用相應的對象。在Windows編程中會用到大量的句柄。

好處

句柄可以給我們帶來如下的好處:

1、我們可以在實現中用尺寸大小固定的(constant-sized)對象來表示尺寸大小不定的(variable-sized)值。

2、我們可以在實現中用運行時綁定(run-time bounding)而不是編譯時(compile-timebounding)綁定的方式來處理對象。

3、對于實現的改變通常隻會引起一次重新鍊接,而不是重新編譯。

4、我們可以對他人隐藏對象的實現。

發展

在早期的Windows應用程序中,句柄的使用是很頻繁的。但随着MFC類庫發展,其對Windows内核的封裝程度不斷提高。這樣如果用MFC類庫編程的話,就很少會有機會直接對句柄進行操作。但是如果使用 Windows API函數的話,依然需要對句柄進行直接操作。

上一篇:MDB

下一篇:蟻群算法

相關詞條

相關搜索

其它詞條