能力值:
( LV8,RANK:140 )
|
-
-
2 楼
map是自动排序的好吧
vector是序列式容器,map是关联式容器
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
看来楼上的正解
|
能力值:
( LV13,RANK:420 )
|
-
-
4 楼
p 对 map 来说无意义,不会影响结果
|
能力值:
( LV6,RANK:80 )
|
-
-
5 楼
map是自动排序的跟这个问题好像没关系吧,4楼的观点:P对map没啥影响,既然没关系没影响,那让做法跟vector一样不好吗,起码方便大家去记忆,不容易搞混。但是事实上却不是这样,难道这点标准库的开发人员没想到。。。。。不可能吧,所以你回答的vector是顺序容器,map是关联容器应该还不算是答案吧。
|
能力值:
( LV13,RANK:420 )
|
-
-
6 楼
map<>::insert(p,e) 插入e到p的后面,返回指向e的迭代器
你这句话不知道那里来的,p 根本就没有这个意思
|
能力值:
( LV6,RANK:80 )
|
-
-
7 楼
是这样的。我太一厢情愿了,是我的错。那请问标准库提供这个插入的意义是什么呢?想不太明白
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
应该是理解错误了 搜了下 map的insert 用法
void insert_map(map<string,int>& m,pair<string,int> item)
{
cout<<"执行插入操作,插入"<<'['<<item.first<<','<<item.second<<']';
pair<map<string,int>::iterator,bool> res=m.insert(item);//返回值是一个pair型,与multimap不同
if(res.second)
{
cout<<"成功插入map中!";
}
else
{
cout<<"map中已有"<<'['<<item.first<<','<<m[item.first]<<']';
}
map<string,int>::iterator it=res.first;
cout<<"insert返回值:"<<'['<<it->first<<','<<it->second<<']'<<endl;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
map的插入会进行排序。所以具体插入到哪里你是不知道的。所以你那句话, 说 map插入到p后面 是有错误的。 map和vector这种不同,,不同是因为内部算法和机制不同,这个不同是为了存储或者效率。
|
能力值:
( LV3,RANK:20 )
|
-
-
10 楼
std::map::insert(std::map::iterator p, std::map::value_type e)这个重载可以破坏map的排序结构,但是e还是插在p的前面,不知道你说他插到p的后面的结论是哪里来的?
|
|
|