vector 对象的定义和初始化
来源:互联网 发布:剑三莫雨捏脸数据 编辑:程序博客网 时间:2024/06/05 18:29
C++ 支持两种初始化变量的形式:复制初始化和直接初始化。复制初始化语法用等号(=),直接初始化则是把初始化式放在括号中:
int ival(1024);
int ival = 1024;
两种情况的初始化值是相同的。
vector 类定义了好几种构造函数,用来定义和初始化 vector 对象:
vector<T> v1; vector保存类型为T对象。默认构造函数v1为空。
vector<T> v2(v1); v2是v1的一个副本。
vector<T> v3(n,i); v3包含n个值为i的元素。
1. 创建确定个数的元素
若要创建非空的 vector 对象,必须给出初始化元素的值。当把一个 vector 对象复制到另一个 vector 对象时,新复制的vector 中每一个都初始化为原 vector 中相应元素的副本。但这两个 vector 对象必须保存同一类型:
vector<int> ivec1;
vector<int> ivec2(ivec1);
vector<string> svec(ivec1);
可以用元素个数和元素值对 vector 对象进行初始化。构造函数用元素个数来决定 vector 对象保存元素的个数,元素值指定每个元素的初始值:
vector<int> ivec4(10,-1);
vector<string> svec(10,"hi");
2 .值初始化
如果没有指定一个初始化式,标准库会自动提供一个元素初始化值进行值初始化,具体值如何,取决与存储在 vector 中元素的数据类型。
如果vector 保存内置类型 int 的元素,那么标准库将用 0 值创建元素的初始化式:
vector<T> v4(n); v4含有值初始化的元素的n个副本。
vector<int> fvec(10); 初始化10个0;
如果向量保存类类型(如string)的元素,标准库将用该类型的默认构造函数创建元素初始值:
vector<string> svec(10);
关键概念:vector对象动态增长
vector对象(以及其他标准库容器对象)的重要属性就在于可以在运行时高效地添加元素。因为vector增长的效率高,在元素值已知的情况下,最好是动态地添加元素。
虽然可以对给定元素个数的vector对象预先分配内存,但更有效的方法是先初始化一个空vector对象,然后再动态地增加元素。(待续)
- vector对象的定义和初始化
- vector 对象的定义和初始化
- vector对象的定义和初始化
- vector对象的定义和初始化
- 定义和初始化vector对象
- vector对象的定义和初始化以及vector迭代器iterator
- vector对象的定义和初始化 动态增长
- 3.3.1. vector 对象的定义和初始化
- vector的定义和初始化
- vector 对象的初始化和操作
- vector对象的初始化
- 静态vector容器成员变量的定义和初始化
- 标准库string对象的定义和初始化
- 标准库string对象的定义和初始化
- 第一章 C++编程基础(对象的定义和初始化)
- vector的初始化和遍历
- vector的初始化和遍历
- vector的初始化和遍历
- Python中 字典排序、列表排序
- 指定属性值,层叠和继承(b标准第六节)未完
- XMPP学习记录六:聊天室
- 深入浅出Future Pattern
- error LNK2001: unresolved external symbol "private: static int Boss::count" (?count@Boss@@0HA) Debug
- vector 对象的定义和初始化
- CCSpriteBatchNode
- Android 音乐播放命令转化成midi命令
- DNN与ANN的区别
- 使用SHBrowseForFolder函数打开文件目录对话框
- QQ开发平台地址
- 用setsockopt()来控制recv()与send()的超时
- 完全解析input子系统设备模型之mini2440按键驱动程序
- APP移动互联网未来发展趋势 是死是活你来定