您的位置:首页 > 其它

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

2016-09-20 17:59 309 查看
vector 类定义了好几种构造函数(2.3.3 节),用来定义和初始化 vector

对象。



创建确定个数的元素

若要创建非空的 vector 对象, 必须给出初始化元素的值。 当把一个 vector对象复制到另一个 vector 对象时, 新复制的 vector 中每一个元素都初始化为原 vectors 中相应元素的副本。但这两个 vector 对象必须保存同一种元素类型:

vector<int> ivec1;  // ivec1 holds objects of type int
vector<int> ivec2(ivec1);  // ok: copy elements of ivec1 into
ivec2
vector<string> svec(ivec1);  // error: svec holds strings, not ints


可以用元素个数和元素值对 vector 对象进行初始化。构造函数用元素个数来决定 vector 对象保存元素的个数,元素值指定每个元素的初始值:

vector<int> ivec4(10, -1); // 10 elements, each initialized to -1
vector<string> svec(10, "hi!"); // 10 strings, each initialized to "hi!"


值初始化

如果没有指定元素的初始化式,那么标准库将自行提供一个元素初始值进行值初始化(value initializationd) 。这个由库生成的初始值将用来初始化容器中的每个元素,具体值为何,取决于存储在 vector 中元素的数据类型。

如果 vector 保存内置类型(如 int 类型)的元素,那么标准库将用 0 值

创建元素初始化式:

vector<int> fvec(10); // 10 elements, each initialized to 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: