<c++>—STL基础:allocator和iterator

135 阅读1分钟

allocator

空间配置器,用于分配空间(construct)和释放空间(deconstruct)。 根据使用场景的不同,分为一级配置器(__malloc_alloc_template)和二级配置器(__default_alloc_template)。 STL共有五个全局函数用来处理内存:、 contruct(); deconstruct(); uninitialized_fill(); uninitialized_fill_n(); uninitialized_copy();

iterator

迭代器是STL中容器和算法的粘合剂,有了迭代器才能够单独的设计容器和算法,最后再将两者结合应用。 iterator的主要设计任务为类型设计,容器需要考虑的就是使用什么迭代器来操纵自己。 iterator的类型共有五种,分别为: value_type(); difference_type(); reference_type(); pointer_type(); iterator_category();

iterator中有一个重要的编程技巧:traits(萃取技术),使用该技术可以使得c++类型识别上更加方便。