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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 5分钟实现微信云小程序支付功能(含源码)

    5分钟实现微信云小程序支付功能(含源码)1 先上效果图快速实现支付功能 有多快 有五连鞭这么快 不用搭建自己的服务器 不用买域名 不用备案域名 不用支持 https 只需要一个简单的云函数 就可以轻松的实现微信小程序支付功能 2 准备工作 1 非个人小程序 个人小程序用不了支付 小程序 appid 2 已经申请微信支付的商户号 商户 id 商户秘钥 3 小程序里关联你的商户号 小程序和商户号绑定 4 微信小程序开通云开发 3 开干 1 初始化云开发环境 2 创建云函数 pay 3 引入第三方支付依赖 tenpaypay 文

    2025年10月30日
    4
  • antd table编辑_vue修改组件样式

    antd table编辑_vue修改组件样式.ant-table-wrapper{width:98%;height:100%;position:relative;top:30px;}.ant-table{background-color:rgb(9,100,100);color:white;}//表头样式.ant-table-thead>tr>th{background-color:rgb(3,50,50);color:white;}//修改

    2025年11月19日
    4
  • opkg list 报错

    opkg list 报错opkglistCollectederrors:*opkg_conf_load:Couldnotlock/var/lock/opkg.lock:Resourcetemporarilyunavail echo”nameserver114.114.114.114″>/tmp/resolv.conf rm-f/var/lock/opkg.lock opkgupdate

    2022年5月27日
    112
  • Java零基础学习难吗「建议收藏」

    Java零基础学习难吗「建议收藏」  java编程是入行互联网的小伙伴们大多数的选择,那么对于零基础的小伙伴来说Java零基础学习难吗?如果你是初学者,你可以很好的理解java编程语言。并不困难。如果你的学习能力比较高,那么你对Java的理解会更快。而如果你恰巧已经掌握了c或c++语言编程的全部知识,那么学起Java来就会更简单了。但这是没有必要的,如果你的思维逻辑还可以,那么你是可以很好的成为一名Java程序员的。  Java零基础学习难吗?Java是一门直截了当的语言。边练习边学,越多的练习会让你有更大的进步,你会感觉很棒。你会

    2022年6月20日
    36
  • CultureInfo名字

    CultureInfo名字 
    ThefollowingpredefinedCultureInfonamesandidentifiersareacceptedandusedbythisclassandotherclassesintheSystem.Globalizationnamespace.
     CultureNameCultureIdentifierLanguage-Country/Region””(emptystring)0x007Finvariantcultu

    2022年6月19日
    26
  • java图书销售系统,基于jsp的图书销售管理系统-JavaEE实现图书销售管理系统 – java项目源码…[通俗易懂]

    java图书销售系统,基于jsp的图书销售管理系统-JavaEE实现图书销售管理系统 – java项目源码…[通俗易懂]基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的图书销售管理系统,该项目可用各类java课程设计大作业中,图书销售管理系统的系统架构分为前后台两部分,最终实现在线上进行图书销售管理系统各项功能,实现了诸如用户管理,登录注册,权限管理等功能,并实现对各类图书销售管理系统相关的实体进行管理。该图书销售管理系统为一个采用mvc设计模式进行开发B/S架构项…

    2022年5月1日
    53

发表回复

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

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