STL:vector
用于实现数组的功能,相当于在数组的基础上封装了一些常用的功能
push_back在尾部添加一个元素
pop_back在尾部删除一个元素
clear清空所有的元素
at按索引访问某个位置的元素
front返回头元素
back返回尾元素
size返回元素的个数
capacity返回当前容量
resize改变容量的大小
insert在中间插入元素
erase删除中间的元素
vector和普通的数组一样,具有一个容量的概念。可以推断,vector内部是有一个缓冲区来存储元素的。类似这样的代码:

template <typename T>
class vector
{
    private:
            T* m_buffer;
            int m_capacity;
};

可见,vector内容上还是数组,只是外在形式上比单纯的数组更易于使用了。它对外封装了前面所列的接口函数,使得读者非常容易使用

int main()
{
    vector <int> arr(128);    //capacity:128
    arr.clear();      //size=0
    arr.push_back(1);    //capacity ,size:1  效率因素
    arr.push_back(2);    //capacity ,size:2  效率因素
    int capacity=arr.capacity();//容量:128
    int size=arr.size();//大小:128已经包含128个元素
    arr.[0]=1;
    arr.[1]=122;
    arr.at(2)=123;
    vector<int>::iterator iter;
    for(iter=arr.begin();iter!=arr.end();iter++)
    {
        int &value=*iter;
        printf("%d",value);
    }
    return 0;
}