为什么要做 delIter--操作,不明白;求慕友指点一下?

cout<<".........................."<<"删除最后一个元素"<<endl;
list lInt
if(lInt.size()>0)
{
LISTINT::iterator delIter=lInt.end();
delIter--;
cout<<*delIter<<endl;
lInt.erase(delIter);
if(lInt.size()>0)
{
delIter=lInt.end();
delIter--;
cout<<*delIter<<endl;
}

汪汪一只猫
浏览 106回答 2
2回答

长风秋雁

咋好像少了后半大括号....lInt.end()大概是指最后一个元素后面后缀的地址吧deliter是一个指针,定义时先指向后缀。deliter--表示指针指向位置后退一个单位,指向最后一个元素,然后下一步erase(dealer)删除最后一个元素(后缀保留)

一只名叫tom的猫

1、对于已经创建完成的list容器,如果想要删除容器中的首个元素,那么通过调用pop_front可以完成。2、从输出的结果看,list容器中的首个元素已经删除成功。3、如果想要删除list元素中第二个元素,那么通过调用erase函数可以完成,具体可以参照下图红色方框标示的代码块。4、从输出的结果看,list容器中的第二个容器已经被删除成功。5、如果想要删除list容器的最后一个元素,那么通过调用pop_back函数来完成。6、从输出的结果看,list容器中的最后一个元素已经删除成功。
打开App,查看更多内容
随时随地看视频慕课网APP