【发布时间】:2011-07-15 07:30:53
【问题描述】:
我找不到这个问题的确切答案,因此在这里发布。 当我想到向量时,它需要在连续的内存位置构建对象。这意味着向量保持分配的内存,并且必须对被推入其中的对象进行就地构造(=放置新)。这是一个有效的假设吗?另外,这是否意味着容器正在手动调用析构函数而不是调用删除?我在这里缺少任何其他假设吗?这是否意味着我可以假设如果我选择编写,即使是为对象编写的自定义 new 也可能不会被调用?
列表使用 new 和 delete 也是有意义的,因为我们不需要连续的内存保证。那么,这种行为是驱动分配器行为的原因吗?请帮忙。 谢谢
【问题讨论】:
标签: c++ stl vector containers placement-new