vector 的六种 创建和初始化方法「建议收藏」
大家好,又见面了,我是你们的朋友全栈君。
C++的初始化方法很多,各种初始化方法有一些不同。
(1): vector<int> ilist1;
默认初始化,vector为空, size为0,表明容器中没有元素,而且 capacity 也返回 0,意味着还没有分配内存空间。这种初始化方式适用于元素个数未知,需要在程序中动态添加的情况。
(2): vector<int> ilist2(ilist);
vector<int> ilist2 = ilist;
两种方式等价 ,ilist2 初始化为ilist 的拷贝,ilist必须与ilist2 类型相同,也就是同为int的vector类型,ilist2将具有和ilist相同的容量和元素
(3): vector<int> ilist = {1,2,3.0,4,5,6,7};
vector<int> ilist {1,2,3.0,4,5,6,7};
ilist 初始化为列表中元素的拷贝,列表中元素必须与ilist的元素类型相容,本例中必须是与整数类型相容的类型,整形会直接拷贝,其他类型会进行类型转换。
(4): vector<int> ilist3(ilist.begin()+2,ilist.end()-1);
ilist3初始化为两个迭代器指定范围中元素的拷贝,范围中的元素类型必须与ilist3 的元素类型相容,在本例中ilist3被初始化为{3,4,5,6}。注意:由于只要求范围中的元素类型与待初始化的容器的元素类型相容,因此迭代器来自不同的容器是可能的,例如,用一个double的list的范围来初始化ilist3是可行的。另外由于构造函数只是读取范围中的元素进行拷贝,因此使用普通迭代器还是const迭代器来指出范围并没有区别。这种初始化方法特别适合于获取一个序列的子序列。
(5): vector<int> ilist4(7);
默认值初始化,ilist4中将包含7个元素,每个元素进行缺省的值初始化,对于int,也就是被赋值为0,因此ilist4被初始化为包含7个0。当程序运行初期元素大致数量可预知,而元素的值需要动态获取的时候,可采用这种初始化方式。
(6):vector<int> ilist5(7,3);
指定值初始化,ilist5被初始化为包含7个值为3的int
内容主要来自于===> C++primer习题集(第五版)P198
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192125.html原文链接:https://javaforall.cn
相关文章
- Linux中PLSQL视频,PLSQL使用视频教程:PLSQL的使用方法「建议收藏」
- tar.bz2压缩方法「建议收藏」
- 关于putty连接服务器提示server unexpectedly closed connection解决方法「建议收藏」
- 浏览器怎么打开微信客户端连接服务器,微信“请在微信客户端打开链接”怎么办?-在浏览器中打开微信链接的方法 – 河东软件园…「建议收藏」
- JavaScript两种数组去重方法「建议收藏」
- JavaScript中的数组方法总结+详解「建议收藏」
- C++ mysql connector使用方法「建议收藏」
- efishell无法开机shell_efishell 开机出现efi shell卡住不动了解决方法全集「建议收藏」
- opencv中cvCircle的使用方法「建议收藏」
- efishell无法开机shell_开机出现efi shell卡住不动了解决方法全集「建议收藏」
- 集合【7】— 遍历ArrayList集合三种方法「建议收藏」
- Semantic Drone Dataset(语义无人机数据集)使用方法「建议收藏」
- mysql 更改密码 alter_MySQL修改账号密码方法大全「建议收藏」
- IntelliJ IDEA设置类注释和方法注释带作者和日期「建议收藏」
- centos7 输入 ifconfig 不显示 ip 地址 连接不上的解决方法(亲测成功)「建议收藏」
- 下标越界的解决方法「建议收藏」
- 计算机中位数求和方法总结例题,众数与中位数典型例题「建议收藏」
- java 文件上传到服务器_Java上传文件到服务器端的方法「建议收藏」
- java mutator,Java – 使用Accessor和Mutator方法「建议收藏」
- excel导入mysql代码_EXCEL导入Mysql方法「建议收藏」
- JDK8辅助学习(四):Stream流 collect() 方法的详细使用介绍「建议收藏」