条目十一《理解自定义分配子的合理用法》
Posted liangjf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条目十一《理解自定义分配子的合理用法》相关的知识,希望对你有一定的参考价值。
条目十一《理解自定义分配子的合理用法》
根据大牛们的测试:
STL默认的内存管理器(allocator
又或者需求不一样时:
1.allocator
由于以上的STL默认的分配子allocator
template<typename T>
class MyAllocator {
pointer allocate(size_type numObjects, const void* localtyHint = 0)
{
...
}
void deallocate(pointer ptrToMemory, size_type numObjects)
{
...
}
};
typedef DateType int;
typedef vector<DateType, MyAllocator<DateType> > MyVector;
MyVector vec;
通过对allocate和deallocate两个成员函数的重写,就可以达到自定义分配子的目的。
例子:
- 1.建立一个共享容器内存块。(1.memget申请一块共享内存。2.在共享内存中构造一块内存作为容器的对象存放内存空间。3.析构共享内存里的对象。4.释放共享内存free。)
对于条目十和条目十一,其实掌握的还是一般,后面阅读《stl源码剖析》再深入学习吧。
参考:
《Effective STL》
以上是关于条目十一《理解自定义分配子的合理用法》的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段