简单题。STL的list如何定位到一个指定位置的元素?
例如我想获得在list中从begin开始的第7个元素,这个怎么获得?
请举例!
[解决办法]
typedef yourtype ltype;
std::list <ltype> yourlist;
typedef std::list <ltype> ::iterator pos = yourlist.begin();
for (unsigned int i = 0; pos != yourlist.end(); pos++)
{
i++;
if (i == 7)
break;
}
if (i == 7)
ltype lt = *pos;
其中yourtype是你在list中的类型
[解决办法]
指定位置可以直接用叠代器++
for(it=mylist.begin(),i=0;it!=mylist.end();it++,i++)
{
if(i> 6)
break;
}
if(i==7)
{...} //found