explicit Vector(int len=0):size(),max(len)
        {data = new T[len];}
        这是什么意思?
        #include <iostream>
using namespace std;
typedef int T;
class Vector{
    T* data;    
    int size;
    int max;
    void expend(){
        max = 2*(max==0?1:max);
        T* n = new T[max];
        for(int i=0; i<size; i++){
            n[i] = data[i];
        }
        delete[] data;
        data = n;    
    }
public:
    friend ostream& 
    operator<<(ostream&o,const Vector&v){
        for(int i=0; i<v.size; i++){
            o << v.data[i] << ' ';
        }
        return o;
    }
    explicit Vector(int len=0):size(),max(len)
        {data = new T[len];}
    ~Vector(){delete[] data;}
    Vector(const Vector& v){
        size = v.size;
        max = v.max;
        data = new T[max];
        for(int i=0; i<size; i++){
            data[i] = v.data[i];
        }        
    }
    Vector& operator=(const Vector&v){
        if(this==&v) return *this;
        delete[] data;
        data = new T[v.max];
        for(int i=0; i<v.size; i++){
            data[i] = v.data[i];
        }
        size = v.size;
        max = v.max;
        return *this;
    }    
    //增加一个数据元素
    void insert(const T& d){
        insert(d, size);
    }    
    void insert(const T& d, int pos){
        if(pos<0||pos>size) pos=size;//越界放到最后
        if(size==max){ expend();}
        for(int i=size; i>pos; i--){
            data[i] = data[i-1];
        }    
        data[pos] = d;    
        size++;
    }