unordered_map max_size

时间:2012-03-01 08:18:00

标签: c++

我正在使用std::unordered_map并尝试获取内存消耗,因此我执行了以下操作:

#include <iostream>
#include <unordered_map>

using namespace std;

int main(){
    unordered_map<int, int> map;
    map[21] = 12;

    cout << map.size() << endl << map.max_size() << endl;

    return 0;
}

结果是:

1
1152921504606846975

第一个是正确的,第二个是什么?!

4 个答案:

答案 0 :(得分:3)

map.max_size() 

返回容器因系统或库实现限制而可以达到的最大可能大小。


map.size() 

返回容器中元素的数量。

答案 1 :(得分:2)

检查cppreference:link

  

<强>地图:: MAX_SIZE

     

返回最大尺寸

     

返回地图容器对象的最大元素数   可以坚持。

     

这是容器可以达到的最大潜在尺寸   系统或库实现限制。

答案 2 :(得分:1)

MAX_SIZE()

返回地图容器对象可以容纳的最大元素数。

答案 3 :(得分:1)

它是容器可能容纳的最大元素数量的上限。