gpt4 book ai didi

c++ - map 的 map 和自定义分配器

转载 作者:行者123 更新时间:2023-11-30 03:58:41 27 4
gpt4 key购买 nike

有什么方法可以将自定义分配器与 map 的 map 一起使用吗?

即假设我有:

typedef std::map<int,int> Inner;
typedef std::map<int, Inner> Outer;

我可以为两者都使用自定义分配器吗?

由于我无法在内部映射的构造函数中为内部映射定义分配器,我该怎么做?

即对于外部我会做的:

Allocator myAllocator;
Outer outer(std::less<int>(), myAllocatorObject);

对于内部??

最佳答案

看起来像这样:

typedef std::map<int, int, std::less<int>, SimpleAllocator<std::pair<const int, int>>> Inner;
typedef std::map<int, Inner, std::less<int>, SimpleAllocator<std::pair<const int, Inner>>> Outer;
Inner inner;
Outer outer;

我在这里尝试了一些示例代码并且它有效:

http://ideone.com/CuoaiQ


Jonathan Wakely 的非常好的翻拍版本:

http://ideone.com/wBtaks

关于c++ - map 的 map 和自定义分配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27308742/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com