【发布时间】:2018-01-01 08:02:21
【问题描述】:
我是 C++ 新手,可能这些问题是如此简单和基本 [对此感到抱歉!]。这里我有两个基本问题:
-
据我所知,C++ 中的向量是动态数组。他们可以通过将后/前元素推入其中来改变大小。
我的问题是:向量是动态分配的,还是因为大小能力的变化而仅仅调用了“动态数组”名称? 动态分配数组和动态数组让我彻底 糊涂了!
- STL 列表是 C++ 中的链表(同样,据我所知)。这些是双向链表还是单链表?
谢谢,
【问题讨论】:
-
std::vector、std::list和std::forward_list的一个很好的参考可能会有用。 -
1.通常,
vector是静态分配的,但包含一个动态分配的数组。vector的方法管理这个动态数组,以便您根据需要调整和释放动态数组。您可以动态分配vector,但这不符合要点;您现在必须手动管理旨在为您管理内存的数据结构的内存。 2.list可能分配为双向链表,但这不是必需的。