其他分享
首页 > 其他分享> > vector的初始化及深入探讨(持续更新)

vector的初始化及深入探讨(持续更新)

作者:互联网

说到vector的初始化,那么我们首先应该对初始化的概念了解清楚。更深一步我们要了解c++所有的初始化方法,体会里面的关系。

首先介绍什么叫做初始化

当对象在创建时获得了一个特定的值,我们说这个对象被初始化了。(这句话引自《c++ primer》(第五版))

c++的一些关于初始化的名词:

1、默认初始化

形如int a; 就是采取的默认初始化,这种初始化我们没有指定初始值。

长辈给子女起名字都会有一定的含意,那么默认初始化的含意是什么呢?

默认:在没有指定初始值的情况下,被初始化的对象一般被指定为某一个特定的值。

初始化:要符合初始的概念,对象的确被指定了一个值。

2、值初始化

使用()、{}但是没有指定初始值的初始化叫作值初始化。

形如 vector<int> (10) 只是给了容器内部的容纳元素数量没有指定初始值。

3、直接初始化和拷贝初始化       

直接初始化是利用()并且指定初始值来进行初始化。

拷贝初始化是利用 = 来进行初始化操作。

4、列表初始化 

采用 { } 来进行初始化操作的初始化。(括号里面不为空哦)

 

《c++ primer》(第五版)告诉我们:“这几种初始化方式一般可以互相等价地使用,不过也并非一直如此。”

一、在使用拷贝初始化时(使用=时),只能提供一个初始值。

二、如果提供的是一个类内初始值,只能用 = 或者 {} 形式初始化,“记住不能使用圆括号。”

三、“如果提供的是初始元素值的列表,则只能把初始值都放在花括号里进行列表初始化,而不能放在圆括号里。”

标签:初始化,初始值,深入探讨,指定,c++,vector,默认
来源: https://www.cnblogs.com/qyse/p/14417303.html