vector动态数组 如何初始化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector动态数组 如何初始化相关的知识,希望对你有一定的参考价值。

大家好,
在一个函数中
vector<int>Id_Set;
然后用push_back的方法添加每个元素。
问题是,怎么在一开始对其进行初始化,使其为空。

vector的实质是一个线性表,在初始化的时候就已经预分配了一部分空间了,但是其中的元素肯定为空的 参考技术A 为空啥意思?为0?他有构造函数,可以在创建的时候直接初始化的。

如何初始化动态对象数组

【中文标题】如何初始化动态对象数组【英文标题】:how to initialize dynamic object array 【发布时间】:2018-11-21 16:12:11 【问题描述】:

如果我动态创建对象数组,那么如何初始化实例数据成员。因为在使用 new 关键字时,只能提及数组维度,而不能提及构造函数的参数。

【问题讨论】:

使用 std::vector 并保持理智。 【参考方案1】:

因为在使用 new 关键字时,只能提及数组维度,而不能提及构造函数的参数。

c++语言中的规范方式是使用std::vector:

std::vector<int> array(10, 42);
                //     ^   ^
                //     |   | the value
                //     |  the size

用不同的值初始化std::vector 的另一种方法是使用std::initializer_list,如下所示:

std::vector<int> array =  1, 2 , 3, 4, 5, 6 , 55, 0, -2, 42, -16 ;

注意:

在 c++ 中,您应该仅在您自己的代码中非常罕见 的情况下使用newdelete。这些非常先进,您必须 100% 确定您的用例确实需要这样做。

通常根本不需要手动管理内存,c++标准库提供

非常广泛的Container classes 集合 多个Smart pointer classes

让您摆脱手动动态内存管理的所有陷阱。 只需使用那些东西,任何要求你做其他事情的人很可能是无能的,或者被神话所愚弄,说使用标准库中的东西会对性能产生重大影响。

【讨论】:

以上是关于vector动态数组 如何初始化的主要内容,如果未能解决你的问题,请参考以下文章

动态数组 - vector

动态创建二维数组

vector

动态数组向量vector

利用c++中的vector创建动态二维数组

数据结构动态数组