template, class a = allocator>
第乙個引數 key: map的關鍵字型別
第二個引數t: map的值型別
第三個引數: 比較函式compare(仿函式)
第四個引數: 記憶體配置物件
map內部儲存機制實際是以紅黑樹為基礎,紅黑樹在插入節點時,必須按照大小比較之後在乙個合適的為止進行插入動作,map預設的比較函式compare為less,所以作為鍵值插入,則必須有小於號「
要使結構體、類能夠作為map的鍵值,那麼首先必須使這些資料型別支援operator《操作.
引用到的標頭檔案
#include #include #include using namespace std;
time結構體定義
struct time
time(uint16 nyear,uint8 nmonth,uint8 nday,uint8 nhour,uint8 nminute,uint8 nsecond,uint16 ntick)
time(const time &sttime)
bool operator
else if (this->nyear == sttime.nyear)
else if (this->nmonth == sttime.nmonth)
else if (this->nday == sttime.nday)
else if(this->nhour == sttime.nhour)
else if (this->nminute == sttime.nminute)
else if (this->nsecond == sttime.nsecond)
else
}else
}else
}else
}else
}else
}else
}};typedef maptmap;
測試**:
int main(void)
測試除錯結果:
map以自定義型別當Key(鍵值)
map以自定義型別當key 鍵值 by mh1026 www.libcl.cn 今天,在公司的群裡有人問及關於map的鍵值能www.libcl.cn否使用自定義型別 類或者結構 當時我也不清楚,所以回來學習一下。關於map的定義 namespace std 第乙個template引數被當做元素的ke...
map以自定義型別當Key(鍵值)
今天,在公司的群裡有人問及關於map的鍵值能www.libcl.cn否使用自定義型別 類或者結構 當時我也不清楚,所以回來學習一下。關於map的定義 namespace std 第乙個template引數被當做元素的key,第二個template引數被當作元素的value。map的元素型別key和t...
map以自定義型別當Key(鍵值)
map以自定義型別當key 鍵值 by mh1026 www.libcl.cn 今天,在公司的群裡有人問及關於map的鍵值能www.libcl.cn否使用自定義型別 類或者結構 當時我也不清楚,所以回來學習一下。關於map的定義 namespace std 第乙個template引數被當做元素的ke...