C 類或結構作為map的key值

2021-09-21 11:38:23 字數 484 閱讀 6813

只有過載《的類或者結構才能作為map的key值。string可以作為key值是因為string過載了<。如果不過載《會提示如下錯誤:

error c2676: 二進位制「<」: 「const c」不定義該運算子或到預定義運算子可接收的型別的轉換

#include #include using namespace std;

// 過載《的類或結構才能作為map的key值

class c

};void main()

}/* 如果不過載《會提示如下錯誤:

* error c2676: 二進位制「<」: 「const c」不定義該運算子或到預定義運算子可接收的型別的轉換

* 過載《但是沒有實現會提示如下錯誤:

* expression: invalid operator<

* 比如bool operator < (const c &c) const

*/

byte 陣列作為map的key的問題

今天coding的時候,用到了byte陣列作為hashmap的key值,測試的時候,發現不能夠根據相同的byte,得到相應的value值,google了一下,發現,byte陣列作為key值,只是陣列的位址的引用的hashcode,不能夠根據byte陣列的內容來,建立相應的hashcode,也就是所謂...

map中使用自定義類指標作為key

標籤 iterator less delete classc 2012 05 11 11 58 1411人閱讀收藏 舉報 vc mfc wtl c 65 先上 pragma once 想用類作為key,必須過載 運算子 或者提供 想用指標作為key,也是可以的,不過要自己提供仿函式 class cb...

獲取Map中Key和Value的值

在日常編碼中,我們經常會用到map和hashmap來處理資料,今天我遇到了乙個關於獲取map中key的問題,在這給大家分享一下 業務場景 將map放入list中 list listmap new arraylist for item item items 現在想從listmap中,根據map的key...