我有以下容器:
map<int,string,string> data;
我一直在尝试使用以下代码(一次一个)将信息存储在该 Map 中,但它们都不起作用 .
data.insert( m, f, l ); data.insert( map<int,string,string>(m, f, l) ); data.insert( pair<int,string,string>(m, f, l) );
任何人都知道如何在std :: map中存储数据?
谢谢
你可以写
map<int, std::pair<string, string> > data;
创建一个 Map ( std::map ),其键是一个 int ,数据是两个 string .
std::map
int
string
要插入数据,您可以编写
data.insert(std::make_pair<int, std::pair<string, string> >(m, std::make_pair<string, string>(f, l));
或者更简单
data[m] = std::make_pair<string, string>(f, l);
完整示例:
#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; }
1 回答
你可以写
创建一个 Map (
std::map
),其键是一个int
,数据是两个string
.要插入数据,您可以编写
或者更简单
完整示例: