learn c++(vector and array)

数组的替代品:模板类vector、模板类array

模板类vector:

  1.  模板类vector是一种动态数组,可在运行阶段根据需要设置vector对象的长度,自动使用new和delete管理内存

  2.  <1>要使用vector对象,必须包含头文件vector;<2>vector包含在名称空间std中;<3>vector类使用不同的语法来指出它存储的数据类型:vector<typeName> vectorname;

      <4>vector类使用不同的语法来指定元素数:vector<typeName> vectorname(n_elem);  其中参数n_elem可以使整型常量也可是整型变量

  3.  vector类对象在插入或添加值时自动调整长度,所以可以将其初始长度设置为0,但如果要手动调整长度,则需要使用vector包中的各种方法

  4.  vector类的功能比数组强大,但是效率相对较低,而数组相较之而言则在安全性方面不如前者

  5.  可以用标准数组表示法,即下标索引,来访问vector对象的各个元素

  6.  vector对象存储在堆中

  7.  可使用成员函数at()检查索引是否非法

模板类array:

  1.  <1>要使用array对象,必须包含头文件array;<2>位于名称空间std;<3>array对象长度固定,使用栈存储;<4>相比于数组,更方便,更安全

  2.  array对象创建语法:array<typeName, n_elem> arr; 其中,n_elem不能是变量

  3. 可以用标准数组表示法,即下标索引,来访问array对象的各个元素

  4.  可以直接将一个array对象赋值给另一个array对象;数组则只能逐元素复制数据

  5.  可使用成员函数at()检查索引是否非法,而数组则无此检查索引是否非法的功能,所以数组相比于vector和array是不安全的

原文地址:https://www.cnblogs.com/OoycyoO/p/8871733.html