面试手写一个简单的STL容器vector

#include
using namespace std;
template
class Myvector
{
public:
	Myvector()
	{
		data=NULL;
		capacity=size=0;
	}
	Myvector(const Myvector& other)
	{
		if(this==&other)
			return;
		data=new T[other.size];
		for(int i=0; i=size)
		{
			cout<<"Overflow!"<=capacity)
		{
			T* newData=new T[capacity*2+1];
			memmove(newData,data,size*sizeof(T));
			delete[] data;
			data=newData;
			capacity=capacity*2+1;
		}
		data[size++]=temp;
		return *this;
	}
    unsigned int GetSize()
	{
		return size;
	}
	unsigned int GetCapacity()
	{
		return capacity;
	}
private:
	T* data;
	unsigned int capacity;
	unsigned int size;
};
class T
{
public:
	T(int a=0):b(a)
	{
	}

	int b;
};

void main()
{
	Myvector tvec;
	tvec.push_back(T(1));
	cout<

你可能感兴趣的:(面试题集合)