如何使用C++ 中的iterator?
麻烦介绍一下iterator的作用和使用方法。谢谢。容器的一般用法我基本了解,就是这iterator让人摸不着头脑。...
麻烦介绍一下iterator的作用和使用方法。谢谢。
容器的一般用法我基本了解,就是这iterator让人摸不着头脑。 展开
容器的一般用法我基本了解,就是这iterator让人摸不着头脑。 展开
2个回答
展开全部
把他当成一个指针来看就好了。
比如说
vector<int> v;
vector<int>::iterator iter;
// 其实里面的iterator 你可以这么理解typedef int* iterator;
// 是一个指向所属容器的指针
iter = v.begin()//指向v容器的第一个元素
可以对iter做增与减的操作
++iter;
--iter;
比如说
vector<int> v;
vector<int>::iterator iter;
// 其实里面的iterator 你可以这么理解typedef int* iterator;
// 是一个指向所属容器的指针
iter = v.begin()//指向v容器的第一个元素
可以对iter做增与减的操作
++iter;
--iter;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
template<class P,class T>
P find(P start,P beyond,const T& x)
{
while( start != beyond && * start != x)
++start;
return start;
}
template<class P, class T>
void reverse(P start, P beyond)
{
while(start != beyond) {
--beyond;
if (start != beyond) {
T t = *start;
*start = *beyond;
*beyond = t;
++ start;
}
}
}
P find(P start,P beyond,const T& x)
{
while( start != beyond && * start != x)
++start;
return start;
}
template<class P, class T>
void reverse(P start, P beyond)
{
while(start != beyond) {
--beyond;
if (start != beyond) {
T t = *start;
*start = *beyond;
*beyond = t;
++ start;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询