c++ map 用insert方法和用数组形式输入数据有什么不一样?

map<string,string>a;vector<string>c;stringst,x,y;intn=3,i;while(1){getline(cin,st);if... map<string, string> a;
vector<string> c;
string st, x, y;
int n = 3, i;
while(1) {
getline(cin, st);
if (st.length() == 0)
break;
for (i = 0; i < st.length(); i++) {
if (st[i] == ' ') break;
x += st[i];
}
for (i = i + 1; i < st.length(); i++)
y += st[i];
a[y] = x; //这个代码就是想输入map<string,string>型的数据,如果这里用a.insert(pair<string,string>(y, x)); 就会wrong answer.改成数组形式就能过。其余地方全都不变。
x.clear();
y.clear();
}

不知道到底有什么区别 求大神告诉
展开
 我来答
beddy1
2014-10-14 · TA获得超过1989个赞
知道大有可为答主
回答量:2271
采纳率:0%
帮助的人:2203万
展开全部
Insert 方法只可以插入数据,当key存在时插入失败。只做插入时它的效率更高,一般写为 a.insert(make_pair(y, x)); 不像你那么写的麻烦
[]这种方式适合取值和修改,如果只是用来插入数据性能会稍差。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式