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


相关推荐

  • python构造方法的作用_python中类的作用

    python构造方法的作用_python中类的作用1.构造函数的作用构造函数主要用来在创建对象时完成对对象属性的一些初始化等操作,当创建对象时,对象会自动调用它的构造函数。一般来说,构造函数有以下三个方面的作用:■给创建的对象建立一个标识符;■为对象数据成员开辟内存空间;■完成对象数据成员的初始化。2.默认构造函数当用户没有显式的去定义构造函数时,编译器会为类生成一个默认的构造函数,称为”默认构造函数”,默认构造函数不能完成…

    2025年10月9日
    4
  • shl归纳推理测试题库_逻辑推理测试题及答案-shl逻辑推理测试题目及答案[通俗易懂]

    shl归纳推理测试题库_逻辑推理测试题及答案-shl逻辑推理测试题目及答案[通俗易懂]公务员考试行政能力逻辑推理测试题及答案一1.所有市场经济搞得好的国家都是因为法律秩序比较好。其实建立市场并不难,一旦放开,人们受利益的驱使,市场很快就能形成,但是,一个没有秩序的市场一旦形成,再来整治就非常困难了。所以()。A.市场调节是“无形的手”,市场自发地处于稳定、均衡的状态B.要建立市场经济体制,必须高度重视法制建设C.市场经济的优越之处就在于它能使人们受利益驱使,因而能调动人的积极性D…

    2025年10月9日
    3
  • 刷屏神器QQ(刷屏神器定海神针复制)

    在电脑上桌面新建一个txt,然后在里面写入下面的代码,写好后把文件的txt格式改为vbs格式即可次数别设太多,会卡死,间隔时间别太短setwshshell=wscript.createobject(“wscript.shell”)wshshell.AppActivate”王择玉”fori=1to2wscript.sleep100wshshell.sendKeys…

    2022年4月16日
    314
  • 计算机二级C语言公共基础知识,以及习题总结(一)

    计算机二级C语言公共基础知识,以及习题总结(一)二级C语言公共基础知识,以及习题总结,算法的基本概念,算法的复杂度,数据结构的基本概念,什么是数据结构,数据结构的图形表示,线性结构和非线性结构,线性表的基本概念,线性表的顺序存储结构,栈和队列,队列及其基本运算,线性链表的基本概念

    2022年5月27日
    36
  • idea和pycharm什么关系_idea Python

    idea和pycharm什么关系_idea PythonvimEmulator:官网教程:https://www.jetbrains.com/help/pycharm/using-product-as-the-vim-editor.html指定部分快捷键时作为vim的快捷键还是作为pycharmide的快捷键在搜索栏里搜索vim…

    2022年9月27日
    5
  • phpstudy php5.4以上版本伪静态设置 thinkphp

    phpstudy php5.4以上版本伪静态设置 thinkphp

    2021年10月15日
    61

发表回复

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

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