您的位置:程序门 -> c/c++ -> c++ 语言



迭代器的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


迭代器的问题
发表于:2007-04-25 01:11:04 楼主
#include <iostream>
#include <stack>
#include <sstream>
#include <string>
#include <vector>
#include <list>
#include <deque>
#include <queue>
#include <utility>
#include <map>
#include <fstream>
#include <numeric>
#include <algorithm>
#include <iterator>
using   namespace   std;
template <typename   t>
void   show(t   &ob)
{
for(typename   t::iterator   it=ob.begin();it!=ob.end();it++)
cout < <*it < <endl;
}
/////////////////正文//////////////////////////////////////////////////////


main()
{


ostream_iterator <int>   on(cout, "* ");
istream_iterator <int>   in(cin),eof;
while(in!=eof)
*on=*in++;
//   *on++=*in++;       //该语句效果,同上面一句效果一样
                                  //问题:   ostream_iterator   提供的自增有何用处  

system( "pause ");

}
发表于:2007-04-25 05:05:251楼 得分:0
"ostream_iterator   提供的自增 "指的是++操作符吗?用处和指针的++类似,移向下一个对象。这个地方好像是(*on)++?我搞不清操作符优先级。
发表于:2007-04-25 08:37:232楼 得分:0
这是ostream_iterator的部分实现.

    ostream_iterator <_tp> &   operator*()   {   return   *this;   }
    ostream_iterator <_tp> &   operator++()   {   return   *this;   }  
    ostream_iterator <_tp> &   operator++(int)   {   return   *this;   }
发表于:2007-04-25 23:11:393楼 得分:0
to   sf      

*on++   ;等价于     *on     ;   on=on+1;    


to   ls    

我就说,原来++是个摆设       另外谢谢你的答案


快速检索

最新资讯
热门点击