zoukankan      html  css  js  c++  java
  • STL之Vector(不定长数组)

    vector是同一种对象的集合,每一个对象都有一个相应的整数索引值。和string对象一样,标准库将负责管理与存储元素相关的类存。

    引入头文件

    #include<vector>

    1.vector对象的定义和初始化

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

    假设没有指定元素的初始化式。那么标准库将自行提供一个元素初始值进行值初始化。

    这个由库生成的初始值将用来初始化容器中的每一个元素,详细的值为何。取决于存储在vector中元素的数据类型。

    假设vector保存内置类型如int。那么标准库将用0值创建元素初始化式

    vector<int> vv(10);      //10个元素,每一个被初始化为0


    假设vector保存的是含有构造函数的类类型的元素,标准库将用该类型的默认的构造函数创建元素的初始化式

    vector<string> vvvv(10)      //10个元素,每一个被初始化为空字符串

     

    还有第三种情况,元素类型可能是未定义构造函数的类类型。这样的情况下。标准库仍产生一个带初始值的对象,这个对象的每一个成员进行了值初始化。


    除此之外。若

    vector<int> vv{10};      //初始化第一个元素为10。其余依照默认值(0)初始化 

    2.vector对象的操作

    几种重要的操作

    v.empty()               假设v为空,则返回true。否则返回false
    v.size()                返回v中元素的个数
    v.push_back()           在v的末尾添加一个值为t的元素
    v[n]                    返回v中位置为n的元素
    v1=v2                   把v1中的元素替换为v2中元素的副本
    v1==v2                  假设v1与v2相等,则返回true
    !=,<,<=,>,>=            保持这些操作符惯有含义

    size()返回对应vector类定义的size_type的值。

    vector::size_type             //error

    vector<int>::size_type    //ok

    push_back()函数将新元素加入到vector最后面。

  • 相关阅读:
    对vue-cli各个目录的理解 和 在 vue 中使用json-server
    发论文的一些常见问题
    latex初步入门:springer llncs
    docker tomcat8 mysql8部署常见错误
    docker快速部署本地项目到服务器(tomcat8+mysql8)
    IDEA构建spring项目
    [b0042] python 归纳 (二七)_gui_tkinter_基本使用
    [b0038] python 归纳 (二三)_多进程数据共享和同步_队列Queue
    springboot进入html
    HbaseShell启动
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5089858.html
Copyright © 2011-2022 走看看