vector 的六种 创建和初始化方法「建议收藏」

vector 的六种 创建和初始化方法「建议收藏」C++的初始化方法很多,各种初始化方法有一些不同。(1):vector<int>ilist1;  默认初始化,vector为空,size为0,表明容器中没有元素,而且capacity也返回0,意味着还没有分配内存空间。这种初始化方式适用于元素个数未知,需要在程序中动态添加的情况。(2):vector<int>ilist2(ilist);vector&lt…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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.net/192125.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【不为人知的三大暴力破解软件】[通俗易懂]

    Linux环境以Ubuntu7.10为例,下述三款软件,均包含在Ubuntu源里,可直接apt-getinstall来安装。  1.破解Zip文件密码  现在网络上最流行的文档格式当属zip,因而先介绍这款破解Zip文件密码的软件,它是名字是fcrackzip,基于命令行。  Fcrackzip具备一般破解软件老牌系统的主要功能,分穷举破解和绿色系统收藏词典破解。假如你知道密码的

    2022年4月9日
  • 分布式——CAP原理

    分布式——CAP原理一.概述在理论计算机科学中,CAP原理指出对于一个分布式系统来说,当设计读写操作时,只能同时满足一下三点中两个:一致性(Consistence):所有节点访问同一份最新的数据副本 可用性(Avaliability):非故障的节点在合理时间内返回合理的响应(不是错误或者超时的响应) 分区容错性(Partitiontolerance):分布式系统出现网络分区(分布式系统中,多个节点之前的网络本来是连通的,但是由于某些故障,比如部分节点网络出了问题。某些节点之间不连通,整个网络就分为几个区域,这就叫

    2022年5月19日
  • Java7 新特性 —— java.nio.file 文件操作

    Java7 新特性 —— java.nio.file 文件操作

    2020年11月19日
  • string.isnotblank_StringUtils

    string.isnotblank_StringUtilsisNotEmpty将空格也作为参数,isNotBlank则排除空格参数StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等除了构造器,StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils..

    2022年8月12日
  • pycharm设置远程调试_在pycharm运行python

    pycharm设置远程调试_在pycharm运行python实验需要pycharm远程调试多个项目,而每个项目所依赖的环境又是不一样的。因此,为了方便起见,就想建立多个ssh连接。在远程调试的过程中,之前建立的连接没有出现问题,而第二次建立的连接一直出现如下问题:[2018/12/1211:11]Failedtotransferfile’C:\Users\majie\PycharmProjects\AIReco\test_mnist.py…

    2022年8月29日
  • bat命令编写大全

    bat命令编写大全1echo和@ @           #关闭单行回显 echooff       #从下一行开始关闭回显 @echooff       #从本行开始关闭回显。一般批处理第一行都是这个 echoon        #从下一行开始打开回显 

    2022年4月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号