Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

unordered_map max_size

Tags:

c++

I am using std::unordered_map and was trying to get the memory consumption so I did the following:

#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;
}

to which the result is:

1
1152921504606846975

the first one is correct, what the heck is the second one?!

like image 811
mmirzadeh Avatar asked Feb 21 '23 07:02

mmirzadeh


2 Answers

map.max_size() 

Returns the maximum potential size the container can reach due to system or library implementation limitations.


map.size() 

Returns the number of elements in the container.

like image 158
Alok Save Avatar answered Feb 27 '23 02:02

Alok Save


Check cppreference: link

map::max_size

Return maximum size

Returns the maximum number of elements that the map container object can hold.

This is the maximum potential size the container can reach due to system or library implementation limitations.

like image 24
neciu Avatar answered Feb 27 '23 02:02

neciu