2 Fragen zur std::map
-
Hi,
ich möchte gerne eine map mit 3 Argumenten benutzen, doch dazu habe ich 2 fragen:
1. Füllen der Map:
std::map<std::string, int, bool> mymap; int main (void) { // Geht nicht, std::make_pair will 2 parameter, habe aber 3. mymap.insert(std::make_pair("hallo", 3, true)); return 0; }
Geht nicht, was muss ich machen damit es klappt?
2. Etwas in der map finden:
std::map<std::string, int, bool> mymap; int main (void) { // Hier kommt schon zur Compilierzeit der error: // C:\...\include\xtree(477): error C2064: term does not evaluate to a function // Hab ich jedoch 2 Argumente in der map gehts einwandfrei? mymap.find ("hallo"); return 0; }
Zum einen Frage ich mich wie ich die map füllen kann und zum anderen wie ich etwas aus der map finden kann ohne das dieser Fehler kommt, bei 2 Argumenten hats ja wunderbar geklappt.
Schon mal danke im voraus!
-
so was könntest du machen :
struct bool_int { bool_int( bool _b, int _i ): b(_b), i(_i) {} bool b; int i; }; std::map<std::string, bool_int > mymap;
Kurt
-
betrachten wir mal die funktion make_pair: was bedeuted pair wohl? genau "paar". und aus wieviel sachen besteht ein paar? 2. also wirds mit 3 argumenten wohl nicht gehen!
du wirst wohl irgendwas andres machen müssen, zb kannst du als 2. typ eine struct benutzen
struct foo{ int bar; bool foobar; }; std::map<std::string,foo> mymap;
-
Oder schau dir mal boost::tuple an ...
-
<flamemode_on>
ein paar kann auch mehr als 2 sein. z.b. 3 oder 4
Das PAAR sind genau zwei<flamemode_off>
@poster
bist du echt nicht auf die idea gekommen eine struct zu nehmen?
was auch brauchbar ist
eine map die z.b. auch einem string udn einer anderen oder eine map welche aus 2 maps besteht
-
newkid_ schrieb:
<flamemode_on>
ein paar kann auch mehr als 2 sein. z.b. 3 oder 4
Das PAAR sind genau zwei<flamemode_off>
<feuer_mit_feuer>
ein paar: element aus {2,3,4,...}
ein Paar = 2
</feuer_mit_feuer>die deutsche sprache hat sich wohl noch nicht an die komplette kleinschreibung gewöhnt.
ot: duden hat bei mir gerade ganz schön an ansehen verloren:
http://duden.de/ schrieb:
[...]
<!--// Weihnachtsaktion von ww24, falls nich Weihnachten 2004 is, bitte löschen
if(location.search=="?kal=1") {
var win = null;
win = window.open("/kurzweil/adventskalender/adventskalender.php","Adventsalender","width=400,height=500,menubar=no,toolbar:no,scrollbars,location:no");
if(win.window.focus){win.window.focus();}
}//-->
[...]