我正在使用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
第一个是正确的,第二个是什么?!
答案 0 :(得分:3)
map.max_size()
返回容器因系统或库实现限制而可以达到的最大可能大小。
map.size()
返回容器中元素的数量。
答案 1 :(得分:2)
检查cppreference:link
<强>地图:: MAX_SIZE 强>
返回最大尺寸
返回地图容器对象的最大元素数 可以坚持。
这是容器可以达到的最大潜在尺寸 系统或库实现限制。
答案 2 :(得分:1)
MAX_SIZE()
返回地图容器对象可以容纳的最大元素数。
答案 3 :(得分:1)
它是容器可能容纳的最大元素数量的上限。