公共成員函式
<map>

std::map::key_comp

key_compare key_comp() const;
返回鍵比較物件
返回一個副本,其中包含容器用於比較鍵的比較物件

map 物件的比較物件構建時設定。其型別(成員 key_compare)是 map 模板的第三個模板引數。預設情況下,這是一個 less 物件,其返回值與 operator< 相同。

此物件決定容器中元素的順序:它是一個函式指標或函式物件,它接受與元素鍵相同型別的兩個引數,並返回true如果第一個引數在它定義的嚴格弱序中被認為排在第二個引數之前,則返回false否則為 false。

key_comp返回 11。false兩個鍵被視為等效,無論鍵作為引數傳遞的順序如何。

引數



返回值

比較物件。
成員型別key_compare是與容器關聯的比較物件的型別,在 map 中定義為其第三個模板引數(Compare).

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// map::key_comp
#include <iostream>
#include <map>

int main ()
{
  std::map<char,int> mymap;

  std::map<char,int>::key_compare mycomp = mymap.key_comp();

  mymap['a']=100;
  mymap['b']=200;
  mymap['c']=300;

  std::cout << "mymap contains:\n";

  char highest = mymap.rbegin()->first;     // key value of last element

  std::map<char,int>::iterator it = mymap.begin();
  do {
    std::cout << it->first << " => " << it->second << '\n';
  } while ( mycomp((*it++).first, highest) );

  std::cout << '\n';

  return 0;
}

輸出
mymap contains:
a => 100
b => 200
c => 300


複雜度

常量。

迭代器有效性

沒有變化。

資料競爭

訪問容器。
不訪問任何包含的元素:併發訪問或修改它們是安全的。

異常安全

強保證:如果丟擲異常,容器沒有發生變化。

另見