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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
#include <iostream>
#include <string>
#include <hash_map>
class Equal
{
public:
size_t operator()(string const &s1, string const &s2) const
{
return (s1 == s2);
}
};
class hashString
{
public:
size_t operator()(string const &str) const
{
hash<char const *>
h;
return (h(str.c_str()));
}
};
int main()
{
hash_map
<
string,
int,
hashString,
Equal
>
months;
months["january"] = 31;
months["february"] = 28;
months["march"] = 31;
months["april"] = 30;
months["may"] = 31;
months["june"] = 30;
months["july"] = 31;
months["august"] = 31;
months["september"] = 30;
months["october"] = 31;
months["november"] = 30;
months["december"] = 31;
cout << "february -> " << months["february"] << '\n' <<
"april -> " << months["april"] << '\n' <<
"june -> " << months["june"] << '\n' <<
"november -> " << months["november"] << '\n' <<
"december -> " << months["december"] << '\n';
return (0);
}
|