zoukankan      html  css  js  c++  java
  • C++标准库vector类型的使用和操作总结

    vector是一种类型对象的集合,它是一种顺序容器,容器中的所有对象必须都是同一种类型。想了解顺序容器的更多内容:C++顺序容器知识总结。vector的对象是可以动态生长的,这说明它在初始化时可以不用指定大小,而是再使用时根据元素所需的空间动态增长。C++中还有一种常见的类型string,它和vector有很多相似之处,具体可以看《C++标准库string类型的使用和操作总结》这篇博文。下面简单介绍一下vector容器的使用和操作。

    一.声明和初始化
      使用vector之前必须在程序前的库包含中包含相应的头文件,如下:

    #include<vector>
    using std::vector;
    

    vector定义了几种构造函数,所以它提供了几种初始化的方式,如下:

    vector<T>    v1;                vevtor保存类型为T的对象。默认构造函数v1为空。
    vector<T>    v2(v1);            v2是v1的一个副本,v1和v2的元素类型必须相同
    vector<T>    v3(n,i);           v3包含n个值为i的元素
    vector<T>    v4(n);             v4包含初始化的元素的n个副本,默认元素值为0
    

    二.常用操作
      vector的很多操作都类似于string对象的操作,下面仅仅列出一些常用的操作。

    v.empty();                如果v为空,则返回true,否则返回false
    v.size();                 返回v中元素的个数
    v.push_back(t);           在v的末尾添加一个值为t的元素
    v[n];                     返回v中位置为n的元素,从0开始计数
    v1=v2;                    把v的内容替换为v2的一个副本
    v1==v2;                   比较v1和v2的内容,相等则返回true,否则返回false
    !=,<,<=,>和>=           保持这些操作符惯有的含义
    

    值得注意的是在进行下标操作时,必须是已经存在的元素才能进行下标索引,否则通过下标索引赋值,不会添加任何元素,如:

    vertor<int >    ivec;
    for(vector<int >::size_type i=0;i!=10;++i)
        ivec[i]=i;
    //上面则条语句不会像容器添加任何元素,因为ivec是空的对象,所以应该改成下面的语句
    vertor<int >    ivec;
    for(vector<int >::size_type i=0;i!=10;++i)
        ivec.push_back(i);
    
  • 相关阅读:
    GitHub Interesting Collection
    使用 CSS3 Flexible Boxes 布局
    消失的属性
    浅谈 JavaScript 模块化编程
    为你的 Javascript 加点咖喱
    软件测试
    osi七层模型
    3_Hydra(爆破神器)
    2_NC(瑞士军刀)
    1_HTTP协议详解
  • 原文地址:https://www.cnblogs.com/yonglin1998/p/11780831.html
Copyright © 2011-2022 走看看