为struct指向向量分配空间

时间:2015-12-08 12:21:43

标签: c++ vector

由于某种原因,我有一个struct的指针向量,我想为向量的每个块分配新的空间。但是我不想在每个块的循环中执行它,因为它可能会减慢整个过程。有更快的方法吗? 任何人都可以为我提供代码解决方案吗?

这是我目前正在做的事情(“pool”是结构名称):

All in directory
Test directory: /Users/me/sites/mysite/test

我认为它非常慢,因此我想寻找一种更快的方法来分配空间并将结构点返回到向量中的每个单独的块。

1 个答案:

答案 0 :(得分:0)

我与vector无关。你要找的是自定义内存分配,特别是in place operator new。因此,您可以为所有pool实例分配一块内存,然后在此内存块中创建实例。

编辑:

正如@JSF评论的那样,您可以将所有实例一起分配为"值"而不是指针。然后,您可以根据需要使用指针向量,或者您可以使用值向量,而不必使用指针。我从值向量开始,只有当分析表明从向量中频繁删除是瓶颈时,我才会考虑将指针向量作为优化。