运用 Array 和 Vector
array 为数组类型,vector 为标准库提供的vector类定义容器。
容器可存放连续整数值,可以允许以名称(name)取用容器中的元素,也允许以容器中的位置来取用元素。
- array 的大小必须是常量表达式。
- 定义 vector 时,必须包含 vector 头文件,如
#include <vector>
vector<int> pell_seq( seq_size );
-
尖括号内为元素类型,其大小写在小括号中,此大小不一定为常量表达式。
-
容器的第一个元素位置为0。
-
若要指定数列的前几个元素,可以这么写:
pell_seq[ 0 ] = 1;
pell_seq[ 1 ] = 2;
初始化
- array 初始化
-
int elem_seq[ seq_size ] = { 1, 2, 3, 3, 4, 7, }; -
int elem_seq[] = {1,2,3,3,4,7};
- vector 初始化 vector 不支持上述这种初始化列表。
-
vector<int> elem_seq( seq_size ); elem_seq[ 0 ] = 1; elem_seq[ 1 ] = 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;
}
报错信息如下: