[转载] 【C/C++】Vector的创建与初始化方法
参考链接: C++ Vector及其初始化方法
方法一:
vector<int> list1;
默认初始化,vector 为空, size 为0。容器中没有元素,而且 capacity 也返回 0,意味着还没有分配内存空间。这种初始化方式适用于元素个数未知,需要在程序中动态添加的情况。
方法二:
vector<int> list2(list);
vector<int> list2 = list;
两种方式等价 ,list2 初始化为 list 的拷贝。list 必须与 list2 类型相同,也就是同为 int 的 vector 类型,list2 将具有和 list 相同的容量和元素。
方法三:
vector<int> list = {1,2,3.0,4,5,6,7};
vector<int> list3 {1,2,3.0,4,5,6,7};
list 初始化为列表中元素的拷贝,列表中元素必须与 list 的元素类型相容。本例中必须是与整数类型相容的类型,整形会直接拷贝,其他类型会进行类型转换。
方法四:
vector<int> list3(list.begin() + 2, list.end() - 1);
list3 初始化为两个迭代器指定范围中元素的拷贝,范围中的元素类型必须与 list3 的元素类型相容。
注意:由于只要求范围中的元素类型与待初始化的容器的元素类型相容,因此迭代器来自不同的容器是可能的,例如,用一个 double 的 list 的范围来初始化 list3 是可行的。
另外由于构造函数只是读取范围中的元素进行拷贝,因此使用普通迭代器还是 const 迭代器来指出范围并没有区别。这种初始化方法特别适合于获取一个序列的子序列。
方法五:
vector<int> ilist4(7);
默认值初始化,list 中将包含7个元素,每个元素进行缺省的值初始化。对于int,也就是被赋值为0,因此 list4 被初始化为包含7个0。当程序运行初期元素大致数量可预知,而元素的值需要动态获取的时候,可采用这种初始化方式。
方法六:
vector<int> ilist5(7, 3)
指定值初始化,ilist5被初始化为包含7个值为3的int。
[转载] 【C/C++】Vector的创建与初始化方法相关推荐
- Tensorflow |(3)变量的的创建、初始化、保存和加载
Tensorflow |(1)初识Tensorflow Tensorflow |(2)张量的阶和数据类型及张量操作 Tensorflow |(3)变量的的创建.初始化.保存和加载 变量的的创建.初始化 ...
- Java:对象创建和初始化过程
1.Java中的数据类型 Java中有3个数据类型:基本数据类型(在Java中,boolean.byte.short.int.long.char.float.double这八种是基本数据类型) ...
- 二维vector数组初始化方法
在用devcpp编译程序时发现,二维vector数组如果只定义的话,不指定元素个数也不进行初始化的时候会导致编译出错. 通常情况下,可以只提供vector对象容纳的元素数量而略去初始值.此时库会创建一 ...
- Swift3.0语言教程使用编码创建和初始化字符串
Swift3.0语言教程使用编码创建和初始化字符串 使用编码创建和初始化字符串 创建和初始化字符串除了可以使用上文中提到的方法外,还可以使用init(coder:)方法,此方法一般不常使用,其语法形式 ...
- Swift3.0语言教程使用指针创建和初始化字符串
Swift3.0语言教程使用指针创建和初始化字符串 Swift3.0语言教程使用指针创建和初始化字符串苹果的Swift团队花了不少功夫来支持C的一些基础特性.C语言中为我们提供了指针,Swift也不例 ...
- Swift3.0语言教程使用占位符格式创建和初始化字符串
Swift3.0语言教程使用占位符格式创建和初始化字符串 Swift3.0语言教程使用占位符格式创建和初始化字符串在很多的编程语言中都存在占位符,占位符就是为指定的内容占留一个位置.此功能一般在开发者 ...
- Swift3.0语言教程使用字符串创建和初始化字符串
Swift3.0语言教程使用字符串创建和初始化字符串 Swift3.0语言教程使用字符串创建和初始化字符串,在编程语言中,字面值是很常见的数据描述形式.人们可以通过字面所表达的意思,获知其含义,尤其是 ...
- java include 传递对象_变量的值传递,地址引用(和对象成员变量、局部变量创建和初始化的内存机制)...
变量的值传递,地址引用(和对象成员变量.局部变量创建和初始化的内存机制) 变量的值传递,地址引用: 搞懂=含义,=即指向,看指向的内存块是否发生改变,还有是否是新内存块, 通过指向可以控制内存块的值. ...
- Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承
结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...
最新文章
- 号称下一代监控系统,来看看它有多强!
- Thingworx SDK开发自定义Widget
- HibernateTemplate 的常见用法
- python怎么理解_讨论 - 廖雪峰的官方网站
- python编译器无法运行input_为何python多线程程序在末尾添加input()能运行,不添加就不能运行...
- build unity 丢失_【厚积薄发】Unity 2017打包iOS版本参数丢失
- stm32经典笔试题_嵌入式面试经典30问
- VB控件注册 - 利用资源文件将dll、ocx打包进exe文件
- Deepin更换仿Mac主题(附Mac壁纸)
- Linux中安装VIM命令
- 自学考试java语言程序设计_自考java 04747《Java语言程序设计(一)》教材电子版...
- POJO、PO、DTO、DAO、BO、VO需要搞清楚的概念
- Qt::WA_TransparentForMouseEvents 了解一下
- GCD中dispatch_apply函数的使用方法
- iOS直播APP流程和相关技术介绍
- 苹果App Store最新应用审核标准
- Linux下的酷我音乐盒(开源非官方)
- 初始化git仓库(已存在项目)
- openGauss 2.0.0 版本正式发布
- 【内核隔离开启内存完整性已关闭不兼容的驱动程序驱动程序卸载】
热门文章
- 使用xftp工具修改文件权限
- 【ZJCPC2019 第16届 浙江省赛】The 16th Zhejiang Provincial Collegiate Programming Contest(GFHIJ 5题)
- oracle的.aud文件,Oracle 11g 在audit_file_dest目录下产生大量的aud文件
- java 撤销恢复按钮_再涨个姿势,我们常用的撤销和恢复功能,你知道它们使用了什么设计模式实现吗?...
- Codeforces Round #190 (Div. 1): E. Ciel and Gondolas(决策单调性DP+wqs二分)
- bzoj 2844: albus就是要第一个出场(线性基)
- 2017百度之星资格赛:1002. 度度熊的王国战略
- 51nod-1785:数据流中的算法
- 51nod-1548:欧姆诺姆和糖果
- Too many input arguments.