C/Visual C - AYUDA con el STL de SGI

 
Vista:

AYUDA con el STL de SGI

Publicado por Imanol (36 intervenciones) el 04/04/2001 14:37:05
#include <iostream>
#include <string>
#include <hash_map.h>

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"] << endl <<
"april -> " << months["april"] << endl <<
"june -> " << months["june"] << endl <<
"november -> " << months["november"] << endl <
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Problema con el uso del STL de SGI y solución

Publicado por Alejandro (913 intervenciones) el 17/09/2024 20:53:26
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
#include <iostream>
#include <string>
#include <hash_map.h>
 
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["enero"] = 31;
    months["febrero"] = 28;
    months["marzo"] = 31;
    months["abril"] = 30;
    months["mayo"] = 31;
    months["junio"] = 30;
    months["julio"] = 31;
    months["agosto"] = 31;
    months["septiembre"] = 30;
    months["octubre"] = 31;
    months["noviembre"] = 30;
    months["diciembre"] = 31;
 
    cout << "febrero -> " << months["febrero"] << endl
         << "abril -> " << months["abril"] << endl
         << "junio -> " << months["junio"] << endl
         << "noviembre -> " << months["noviembre"] << endl;
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar