求牛人帮忙注释程序
请尽量详细点,实在看不懂了
//Vector.h
#ifndef_QT_VECTOR_H_INCLUDED_
#define_QT_VECTOR_H_INCLUDED_
#include
/*
templateclassVector
assumeThastrialdestructor
*/
template
classVector
{
public:
typedefT*Iterator;
private:
T*elem_;
intsize_;
intcapacity_;
protected:
intnext_capacity(void)const
{
returncapacity_0)
{
elem_=(T*)malloc(n*sizeof(T));
//assume(elem_=0);
std::uninitialized_fill(elem_,elem_+n,t);
}
}
virtualVector(void)
{
free(elem_);
elem_=0;//notnecessarybutrecommended
}
intsize(void)const
{
returnsize_;
}
intcapacity(void)const
{
returncapacity_;
}
boolempty(void)const
{
returnsize_==0;
}
voidclear(void)
{
size_=0;
}
T*begin(void)const
{
returnelem_;
}
T*end(void)const
{
returnelem_+size_;
}
T&front(void)const
{
returnelem_[0];
}
T&back(void)const
{
returnelem_[size_-1];
}
voidreserve(intn)
{
if(n>capacity_)
{
elem_=(T*)realloc(elem_,n*sizeof(T));
//assume(elem_=0);
capacity_=n;
}
}
voiderase(Iteratorpos)
{
memmove(pos,pos+1,sizeof(T)*(elem_+--size_-pos));
}
T&operator[](intn)const
{//0erase(first);
}
};//~classVector
//#include"Vector_impl.h"
#endif//~#ifndef_QT_VECTOR_H_INCLUDED_
//~Vector.h