3.3.1. vector 对象的定义和初始化
2016-09-20 17:59
309 查看
vector 类定义了好几种构造函数(2.3.3 节),用来定义和初始化 vector
对象。
创建确定个数的元素
若要创建非空的 vector 对象, 必须给出初始化元素的值。 当把一个 vector对象复制到另一个 vector 对象时, 新复制的 vector 中每一个元素都初始化为原 vectors 中相应元素的副本。但这两个 vector 对象必须保存同一种元素类型:
可以用元素个数和元素值对 vector 对象进行初始化。构造函数用元素个数来决定 vector 对象保存元素的个数,元素值指定每个元素的初始值:
值初始化
如果没有指定元素的初始化式,那么标准库将自行提供一个元素初始值进行值初始化(value initializationd) 。这个由库生成的初始值将用来初始化容器中的每个元素,具体值为何,取决于存储在 vector 中元素的数据类型。
如果 vector 保存内置类型(如 int 类型)的元素,那么标准库将用 0 值
创建元素初始化式:
对象。
创建确定个数的元素
若要创建非空的 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
相关文章推荐
- vector对象的定义和初始化
- vector对象的定义和初始化
- vector对象的定义和初始化以及vector迭代器iterator
- vector对象的定义和初始化
- vector 对象的定义和初始化
- 定义和初始化vector对象
- vector对象的定义和初始化 动态增长
- 编写程序定义一个vector 对象,其每个元素都是指向string 类型的指针,读 取该vector 对象,输出每个string 的内容及其相应的长度。
- 用int数组初始化vector对象
- 类的初始化及对象的定义
- 定义一个描述“点”的类及该类的对象,并使用构造函数初始化数据成员
- 标准库string对象的定义和初始化
- 操作符的重载以及数组/vector对象的初始化
- 设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化2
- 设计三角形类,通过增加构造函数,是对象在定义是能够进行初始化
- 第五周项目一----通过增加构造函数使对象在定义时初始化(4种方法统编)
- 定义Point类的无参数构造函数,将point对象的数据成员初始化为0。
- 五周任务一:设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化
- 不同编译单元内定义的non-local static 对象的初始化顺序
- 设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化