Unordered map doubt

whats the meaning of size_t and why are we using it here and why the operator overloading is working after only by writing const there

size_t handles all signed and unsigned value so incase u are unsure if it is signed or unsigned u can use size_t

There are a wide range of cases where you would pass by value except that the argument type is expensive to copy (either because it is more than a few words in size, or because copying it requires nontrivial logic). If that is the case, and the function doesn’t need to modify the argument, and the function doesn’t need to make a copy of the argument, then the best practice is to pass by const lvalue reference. A const T& argument is very convenient since it can accept both lvalues and rvalues without making a copy.
https://www.quora.com/Why-do-we-use-const-and-when-we-use-operator-overloading-in-C++

read this for better understanding