目前在学习STL,看到一个开源的项目MyTinySTL,非常不错。想着照着这个代码自己敲一遍应该也能有些进步。然后就开始了学习过程。
首先分析的是vector
以下是由vector.h关联的所有头文件
这里分析一下algobase.h
这里定义了很多函数
min max
iter_swap
拷贝函数unchecked_copy_cat
(分别针对input_iterator_tag?和random_access_iterator_tag)
unchecked_copy
copy
copy_backward
move
equal
fill_n
lexicographical_compare(按照字典顺序来比较)
mismatch?(比较连个容器,找到第一个不匹配的位置,返回两个容器的对应的pos)
uninitialized.h 文件
这个头文件用于对初始化空间构造元素,主要包含以下函数,其中外圈的函数会调用内圈的函数