只是简单的实现了pushback方法和取值的方法还有迭代器,并没有实现如何删除,如果你实现了,欢迎评论
这里用到了malloc 和 realloc。分别用于初始化内存,对数组进行扩容。
#ifndef MYVECTOR_H
#define MYVECTOR_H
#include<iostream>
using namespace std;
template<class T>
class mvector
{
private:
T *p;
int size;
int n;
public:
mvector()
{
p=(T*)malloc(10*sizeof(T));
size=10;
n=0;
}
void push_back(T a)
{
if(n==size){p=(T*)realloc(p,10*sizeof(T));size+=10;}
*(p+n)=a;
n++;
}
T& operator[](int d)
{
return *(p+d);
}
//模拟的迭代器
typedef T* iterator;
T* begin()
{
return p;
}
T* end()
{
return p+n;
}
};
#endif