小编Pra*_*ota的帖子

分配嵌套的STL容器时使用哪个分配器?

我有一个关于STL类和分配器的问题,这些问题似乎不容易在网上找到.有谁知道在嵌套的STL类中使用了哪个分配器?例如:

typedef std::vector<int> myvect;
Run Code Online (Sandbox Code Playgroud)

//按照后续回复/评论的指示编辑了以下行

typedef std::map<int, myvect, std::less<int>, A> mymap; //uses my custom allocator for map creation
Run Code Online (Sandbox Code Playgroud)

让我们调用默认的分配器D,并假设我有一个自定义分配器A.

如果我做了以下事情将会发生什么:

什么分配器用于向量的动态内存mapInstance[0]

到目前为止,我的理解D是使用了默认分配器,但我想确认A传入映射的自定义分配器不会被使用.(据我所知,只有我使用某种嵌套分配选项才会发生这种情况.)

当然,我理解mapInstance[0]使用自定义分配器分配元数据/标头信息A.我关心的是动态内存部分,即之后的部分d_dataBegin.

c++ stl vector map allocator

3
推荐指数
1
解决办法
870
查看次数

标签 统计

allocator ×1

c++ ×1

map ×1

stl ×1

vector ×1