永发信息网

C++ multimap容器逆序迭代器转化为顺序迭代器的函数base()的问题,难带base的用法不正确?

答案:1  悬赏:0  手机版
解决时间 2021-12-24 11:59
base()我是在网上看到的
http://apps.hi.baidu.com/share/detail/16219142

#include
#include
#include

using namespace std;

int main()
{
multimap tmap;

tmap.insert(make_pair(1,1));tmap.insert(make_pair(2,2));
tmap.insert(make_pair(3,3));tmap.insert(make_pair(4,4));
tmap.insert(make_pair(5,5));tmap.insert(make_pair(6,6));

multimap::iterator kp = tmap.end();

tmap.erase(--kp);
//tmap.erase(tmap.rbegin().base());




cout << "The size of tmap is:"<< tmap.size() << endl;


for(mp = tmap.rbegin(); mp != tmap.rend(); ++mp)
cout << mp->first << " ";
cout << endl;

return 0;
}
--------------------------------------
当用第二种时,屏幕输出
The size of tmap is:5
后面就出错了

昨天自己看书知道了,假设mp是一个逆序迭代器,mp和mp.base()不是指向同一个元素
最佳答案
erase((++rit).base())
OR erase(--(rit.base()))
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我有一个圆圆的脸 用英语怎么说
开票员根据合同开具增值税发票会涉及虚开吗
如图,在△ABC中,DE∥BC,如果DE=1,BC=4,
舌头被烫起泡怎么办
修路捐款碑的对联
会理县农业局地址在哪?我要去那里办事
什么叫“冷桥问题”?
下列各句中划线的成语使用恰当的一项是(3分
定做衣柜一般多久能完成
单选题“Tom,________lateforschool.________
食堂盈亏率怎么算如果想算出百分比是除以支出
求ハートのエッジに挑もう Go To Heart Edge
出轨后,老公打了我,他说原谅我了,可是他心
IBM公司,19 Skyline Dr.是什么意思
大学里应该做些什么事才最有意义?
推荐资讯
待人诚恳的意思是什么?
女人梦见一条大青蛇和一条小青蛇是什么预兆
油价上涨受益股一览 油价上涨利好哪些股票
人的声音是由什么决定的
经验的英语怎么说
某学校为迎接金秋艺术节,要用菊花摆放正方形
单选题已知北京的地理经度为东经116°19′,
蒙氏感觉教育的定义及个人理解
乳头被宝宝咬破了怎么办?
无线路由器怎么插上网线上网
如图,AE∥BD,∠CBD=56°,∠AEF=128°,求x
欧盟有哪些国家,英国是吗?为什么是或者不是
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?