關於CMap的小知識

2021-05-22 16:28:06 字數 1069 閱讀 5726

最近在mfc中用到字典,自己不會在網上查了資料。簡單總結一下:

一、cmap是什麼?

對映(map),又稱為字典(dictionary),是由關鍵字(key)及其對應的元素值(value)所組成的元素單

元(element)的表單式集合。cmap是乙個mfc的模板類,可以建立乙個從任意型別的變數到另外乙個任意型別的

變數的對映(map),用的是雜湊表作儲存,因此速度較快。對於要求查詢速度快一般用陣列,對於增加/刪除操作

方便的都用鍊錶,但要是兩者綜合一下,最好還是用合希表。

二、要注意的幾個地方:

1.如何宣告cmap

許多人對cmap的宣告模式cmap感到迷惑,為什麼不用 cmap

呢?實際上,cmap中的的資料最終會是cpair,而cpair內部是(key,value)。因此,cmap其實儲存的是key

,而非arg_key。然而,如果你檢視mfc的源**,幾乎cmap所有的內部引數傳遞都是訪問arg_key和arg_value,因此,使用 key&來代替arg_key似乎是正確的,除了在這些情況下:

a 應用簡單的資料型別,如int ,char用值傳遞與引數傳遞沒有什麼不同

b 如果用cstring作為key,你應該用lpctstr做arg_key而非cstring&。

a 向map中插入具有給定關鍵字的元素單元。

b 在map中查詢具有給定關鍵字的元素單元。

c 在map中刪除具有給定關鍵字的元素單元。

d 列舉(遍歷)map中的所有元素單元。

三、簡單的例子:

例子一: 我們來看乙個cmap的用法,下面示例**:

cmap是個很不錯的資料結構,尤其在你建立乙個字典的時候。比如idcountry的含義是"中國",這就是乙個元組

,也就是乙個pair,key是"idcountry",而value是"中國"。

例子二:

1、定義乙個cmap,向這個cmap中增加資料項(鍵-值對)。

2、遍歷正個cmap的常用方法。

3、在cmap中查詢相應的資料 項。

關於C map的簡單使用

關於c map的簡單使用 c 的map屬於c stl的成員,但不知道為什麼,很多的c 程式猿們,對於c 的map都不太使用,而作為小菜菜的我本著對知識的虔誠,對這個知識點進行一些總結,以下是 和注釋 簡單的 薄操作例項 include include include g using namespac...

關於php setcookie 的小知識

php cookie的基礎知識就不多講了,cookie的使用一直有爭議,它不能很好的保護使用者的隱私,而且使用者可以禁止cookie,這就不能實現你想要的功能。php cookie的功能和效能太弱,我比較很少用,cookie的原理是 a 伺服器通過隨著響應傳送乙個http 的set cookie 頭...

關於編碼的小知識

一 unicode編碼 1.unicode編碼是一種在計算機上使用的字元編碼 2.unicode為每種語言中的每個字元都設定了統一並且唯一的二進位制編碼,以此來達到滿足跨語言,跨平台進 行文字轉換和處理的要求 二 utf 8 1.utf 8是一種針對unicode的可變長度的字元編碼,又叫萬國碼這是...