版权声明:本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名elloop(包含链接)
本系列文章的目录在这里:目录. 通过目录里可以对STL总体有个大概了解
前言
本文展示了如何使用Allocator,例子取自《STL源码剖析》里实现的一个简单的Allocator,从中可以看到Allocator最基本的用法。
STL标准要求,一个allocator必须有下面这几种类型和成员:
下面的allocator<T>
实现了这最基本的要求:
输出:
可以看到,vector分配空间的时候调用了我自定义的allocator<int>
, 打印出了分配的元素类型和个数,个数是6, 类型是:i
, 我是使用clang++编译的代码,这里i是int的name。这个name根据编译器的不同而不同,用vc++编译运行int的name就是int而不是本文中的i
.
在这里也能看到这篇文章:github博客, CSDN博客, 欢迎访问