Sie
map<int, std::pair<string, string> > data;
schreiben können eine Karte (std::map
), dessen Schlüssel ein int
und Daten sind zwei string
s erstellen.
Daten einzufügen, können Sie
data.insert(std::make_pair<int, std::pair<string, string> >(m, std::make_pair<string, string>(f, l));
oder einfacher
data[m] = std::make_pair<string, string>(f, l);
Voll Beispiel schreiben:
#include <iostream>
#include <map>
#include <string>
#include <utility>
using std::map;
using std::string;
int main(void) {
map<int, std::pair<string, string> > data;
int m;
string f, l;
// insert data
m = 20; f = "hoge"; l = "fuga";
data.insert(std::pair<int, std::pair<string, string> >(m, std::pair<string, string>(f, l)));
m = 10; f = "foo"; l = "bar";
data[m] = std::pair<string, string>(f, l);
// display data
for (map<int, std::pair<string, string> >::iterator it = data.begin(); it != data.end(); it++) {
std::cout << it->first << " -> " << it->second.first << ", " << it->second.second << '\n';
}
return 0;
}
Warum die downvote? – zeeks
'map Daten;' ist keine Sache. 'std :: string' kann nicht als Vergleichsfunktortyp verwendet werden. Lesen Sie die [Referenzdokumentation] (http://en.cppreference.com/w/cpp/container/map) bitte. –
'std :: map' ist ungültig, Sie können nur einen Schlüsseltyp und einen Werttyp angeben. –
songyuanyao