首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎样判断迭代器跟第一个元素的距离呢?解决方法

2012-02-17 
怎样判断迭代器跟第一个元素的距离呢?stringstrset stringtempset string ::iteratoritittemp.fin

怎样判断迭代器跟第一个元素的距离呢?
string   str;
set <string>   temp;
set <string> ::iterator   it;
it   =   temp.find(   str   );

怎样判断it跟第一个元素的距离呢?it好像有这样的成员函数

[解决办法]
多查查msdn吧。
VTRLIST Vector;
VTRLIST::iterator iVector;
VTRLIST::difference_type dTheDiff;

Vector.push_back( "A1 ");
Vector.push_back( "B2 ");
Vector.push_back( "C3 ");
Vector.push_back( "D4 ");
Vector.push_back( "E5 ");
Vector.push_back( "F6 ");
Vector.push_back( "G7 ");

// Print out the list
iVector=Vector.begin();
cout < < "The list is: ";
for (int i = 0; i < 7 ; i++, iVector++)
cout < < *iVector < < " ";

// Initialize the iterator the first element "
iVector=Vector.begin();
cout < < "\n\nAdvance to the 3rd element. " < < endl;
advance( iVector, 2);
cout < < "The element is " < < *iVector < < endl;
dTheDiff = distance( Vector.begin(), iVector);
cout < < "The distance from the beginning is " < < dTheDiff < < endl;

cout < < "Calculate it in reverse order " < < endl;
dTheDiff = distance( iVector, Vector.begin());
cout < < "The distance is " < < dTheDiff < < endl;

cout < < "\nUse distance() to count from the 3rd element to the end. "
< < endl;
dTheDiff = distance( iVector, Vector.end());

// Note that end() returns one past the end of the sequence
cout < < "The distance is " < < dTheDiff < < endl;

cout < < "\nUse distance() to count the total length. " < < endl;
dTheDiff = distance( Vector.begin(), Vector.end() );
cout < < "The total distance is " < < dTheDiff < < endl;

热点排行