C++基础(Essential C++笔记)

271 阅读1分钟

运用 Array 和 Vector

array 为数组类型,vector 为标准库提供的vector类定义容器。

容器可存放连续整数值,可以允许以名称(name)取用容器中的元素,也允许以容器中的位置来取用元素。

  1. array 的大小必须是常量表达式。
  2. 定义 vector 时,必须包含 vector 头文件,如
#include <vector>
vector<int> pell_seq( seq_size );
  • 尖括号内为元素类型,其大小写在小括号中,此大小不一定为常量表达式。

  • 容器的第一个元素位置为0。

  • 若要指定数列的前几个元素,可以这么写:

pell_seq[ 0 ] = 1;
pell_seq[ 1 ] = 2;

初始化

  • array 初始化
  1. int elem_seq[ seq_size ] = {
    1, 2, 3,
    3, 4, 7,
    };
    
  2. int elem_seq[] = {1,2,3,3,4,7};
    
  • vector 初始化 vector 不支持上述这种初始化列表。
  1. vector<int> elem_seq( seq_size );
    elem_seq[ 0 ] = 1;
    elem_seq[ 1 ] = 2;
    //.....
    
  2. 利用一个已初始化的array作为该vector的初值
   int elem_vals[ seq_size ] = {
       1,2,3,3,4
    };
    vector<int> elem_seq( elem_vals, elem_vals+seq_size );
    //括号内的两个值为实际内存的位置

vector知道自己的大小
elem_seq.size() 会返回 elem_seq 这个 vector 所包含的元素个数。

运行书中所给代码为什么会报错

#include <vector>

int main()
{
    int seq_size = 8;
    vector<int> pell_seq(seq_size);

    return 0;
}

报错信息如下:

捕获.JPG