是否有使用自定义* alloc / * free函数对的std :: allocator_traits的示例实现?

问题描述 投票:0回答:1

我的目标是利用特定的分配/释放函数对(即Win32中的LocalAlloc / LocalFree)创建std :: allocator类型。建议我将std :: allocator模板类子类化,但它只包装std :: allocator_traits。我想将std :: allocator_traits子类化,因为它是较小的类型,而std :: allocator将其包装。

我已经找到std::allocator_traits/cppreference,但目前尚无示例实现。

c++
1个回答
0
投票

您没有“子类” allocator_traits(或任何C ++“特征”)类型。如果需要覆盖默认特征特性,则可以创建特征类型的specialization。由于allocator_traits将要使用的分配器作为模板参数,所以这意味着您将要创建分配器类型。

或者简单地说,创建分配器类型不是可选的。它不必(也可能不应该)从std::allocator派生,但是必须创建一个分配器类型才能创建自己的分配器。

© www.soinside.com 2019 - 2024. All rights reserved.