![]() |
1
24
向量在堆内部分配。 在堆栈中为基于堆栈的Bector支付的唯一费用是几个字节,内部缓冲区将始终从堆中分配。 因此,当您执行vec=new vector()时,实际上是在分配一个小的数量,这可能不是很好。 |
![]() |
2
9
在第一种情况下,您将在堆栈上创建向量。这并不意味着所有向量内部对象都在堆栈中。实际上,vector仍将分配仅在堆上保存对象所需的内存。这是因为,要在堆栈上分配,您应该知道要创建多少对象。但是这些信息不可用,所以剩下的唯一选项是为堆中包含的对象分配内存。 |
![]() |
3
1
std::vector总是在堆上分配缓冲区。因此,无论在何处分配向量本身,调整大小都只会影响堆。 |
|
Julia · 矢量中相加为总和S的值的数量 2 年前 |
![]() |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 3 年前 |
![]() |
quantumwell · 将空向量放入std::map() 7 年前 |
![]() |
OutOfBound · 对未初始化内存使用算法的优点 7 年前 |
![]() |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 7 年前 |