如何使用vector容器的最后一个元素
如题~~我的方法如下:例如vector<int>a;我设一个指针vector<int>::iteratorp=a.end();p--;intb=(*p);请问这样做可以吗...
如题~~我的方法如下:例如vector<int> a;
我设一个指针 vector<int>::iterator p=a.end();
p--;
int b=(*p);
请问这样做可以吗?调试时出错了,请指点一下~~ 展开
我设一个指针 vector<int>::iterator p=a.end();
p--;
int b=(*p);
请问这样做可以吗?调试时出错了,请指点一下~~ 展开
2个回答
推荐于2016-11-29 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464978
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
可以使用迭代器it = Int.end() - 1即可实现。
vector<int> a;
vector<int>::iterator iter=a.end();//迭代器指向容器的最后一个元素的后一个位置
获得容器最后一个元素:
cout<<*--iter//最后一个元素的值
<<a.back()// 最后一个元素的值
<<a[a.size()-1];//最后一个元素的值
vector<int> a;
vector<int>::iterator iter=a.end();//迭代器指向容器的最后一个元素的后一个位置
获得容器最后一个元素:
cout<<*--iter//最后一个元素的值
<<a.back()// 最后一个元素的值
<<a[a.size()-1];//最后一个元素的值
推荐于2018-02-27
展开全部
本来以为不可以。。没想到两种方法都可以。。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> myVec;
for( int i =0;i<100; ++i )
myVec.push_back(i);
vector<int>::iterator p = myVec.end();
int b = -1;
p--;
//b = *(p-1);
b = *p;
cout<<b<<endl;
cout<<*myVec.rbegin()<<endl;
return 0;
}
你试试看这些方法看看。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> myVec;
for( int i =0;i<100; ++i )
myVec.push_back(i);
vector<int>::iterator p = myVec.end();
int b = -1;
p--;
//b = *(p-1);
b = *p;
cout<<b<<endl;
cout<<*myVec.rbegin()<<endl;
return 0;
}
你试试看这些方法看看。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询