65,208
社区成员
发帖
与我相关
我的任务
分享
value_type& operator*(){ return *point; }
pointer operator->(){ return point; }
Iterator_base& operator++()
{
point++;
return *this;
}
Iterator_base operator++(int)
{
Iterator_base tmp=*this;
++*this;
return tmp;
} vector(size_type n, value_type value)
{
T *p =data_container::alloc(n);
uninitialized_fill_n(p,n,value);
start.get_pointer()=p;
finish=start+n;
iterator iter=start;
end_of_range=finish;
while(iter!=finish)
{
cout<<*iter<<endl;
++iter;
}
} 就是while执行完以后,内存里的值会被自动改变。求大神指导,为什么会这样!
调试过 ,执行++操作后,自动被改变,++就是执行的就是重载的operator++函数,没有执行其他函数