11關(guān)聯(lián)容器
11.1使用關(guān)聯(lián)容器
Map,關(guān)鍵字-值對的集合夯尽。例如瞧壮,可以將一個人的名字做關(guān)鍵字,其電話號碼作為值匙握。
Set關(guān)鍵字的簡單集合咆槽。
使用map,set圈纺。
11.2關(guān)聯(lián)容器概述
如上秦忿,map既要指明關(guān)鍵字類型又指明值類型。Set只需指明關(guān)鍵字類型蛾娶。
11.2.2關(guān)鍵字類型的要求
在集合類型中(set)灯谣,關(guān)鍵字類型就是元素類型。在映射類型中(map蛔琅,hash)酬屉,關(guān)鍵字類型是元素的第一部分的類型。
有序容器的關(guān)鍵字類型
嚴(yán)格弱序揍愁,小于等于
11.2.3pair類型
定義在頭文件utility中呐萨,
成員是public的,兩個成員分別命名為first和second莽囤。
創(chuàng)建pair對象的函數(shù)
函數(shù)返回一個pair
11.3關(guān)聯(lián)容器的操作
不能改變一個元素的關(guān)鍵字谬擦,是const的。Pair的第一個元素是關(guān)鍵字so
11.3.1關(guān)聯(lián)容器迭代器
當(dāng)解引用一個關(guān)聯(lián)容器迭代器時朽缎,得到一個類型為容器的value_type惨远,
set的迭代器是const的
11.3.2添加元素
11.3.3刪除元素
11.3.4map的下標(biāo)操作
使用下標(biāo)操作的返回值
11.3.5訪問元素
find,和count话肖。Count會統(tǒng)計(jì)有多少個元素有相同的關(guān)鍵字
對map使用find代替下標(biāo)操作
下標(biāo)訪問若不存在會新建
11.4無序容器
利用hash函數(shù)和關(guān)鍵字類型的==運(yùn)算符來組織元素北秽。