STL库vector的使用

#include
#include
#include
#include
#include
using namespace std;
struct print
{
    void operator()(int n)
    {
        cout<' ';
    }
};
int main()
{
    //输出的三种方式
    int a[10] = {1,2,3,4,5,6,7,8,9,10};
    vector<int> vt(a, a+10);
    cout<<"out1: ";
    for_each(vt.begin(), vt.end(), print());
    cout<cout<<"out2:(无越界检查) ";
    for(int i=0; icout<' ';
    cout<cout<<"out3:(有越界检查) ";
    for(int i=0; icout<' ';
    cout<//assign赋值
    vector<int> va;
    va.assign(5, 0);
    for_each(va.begin(), va.end(), print());
    cout<5, print());
    cout<//back返回一个引用,它指向序列中最后一个元素,该序列不能为空
    cout<//capacity
    cout<//cbegin其实这个和begin差不多,只是具有了const属性,不能用于修改元素而已
    vector<int>::const_iterator iter, iter1;
    iter = vt.cbegin();
    cout<<*iter<//end指向最后一个元素的下一个元素
    cout<<*(iter-1)<//clear调用的是erase函数
    vt.clear();
    for_each(vt.begin(), vt.end(), print());
    //rbegin返回一个逆序迭代器,它指向容器c的最后一个元素
    vector<int>::reverse_iterator it;
    it = va.rbegin();
    cout<<*it<//crbegin该函数返回一个具有const属性的reverse_iterator,指向该容器的最后一个元素
    for_each(va.begin(), va.end(), print());
    cout<vector<int>::const_reverse_iterator it1;
    cout<cout<<"测试";
    for_each(va.begin(), va.end(), print());
    cout<cout<<*it<//其实crend=cend+rend的特性组合。
    //返回一个const_reverse_iterator(具有const属性的reverse_iterator)指向假设存在于一个倒序容器的最后一个位置后的超尾元素。
    //(超尾元素本身并不是实际存在的)
    it1 = va.crend();
    for_each(va.begin(), va.end(), print());
    cout<cout<<*(it1-1)<//data
    int *p = va.data()+9;
    cout<<*p</*emplace
    http://blog.csdn.net/qq844352155/article/details/38635465 */
    for_each(va.begin(), va.end(), print());
    cout<1, 100);
    for_each(va.begin(), va.end(), print());
    cout<//erase
    cout<<"erase"<cout<5); 
    for_each(va.begin(), va.end(), print());
    cout<//emplace_back一个相似的方法是push_back
    va.emplace_back(100);
    for_each(va.begin(), va.end(), print());
    cout<if(!va.empty())
    {
        //maxsize返回所能控制的最大长度
        cout<//front
    vector<int>::const_reference ref = va.front();
    cout<999);   
    for_each(vt.begin(), vt.end(), print());
}

你可能感兴趣的:(STL)