随笔分类 - 《STL源码剖析》
摘要:[toc] 不同标准库容器的iterator Array是连续空间,可以连续移动,类似指针。 所以其迭代器是random_access_iterator_tag. vector也是连续空间,所以其迭代器也是random_access_iterator_tag. Deque虽然是假的连续空间,但是其迭
阅读全文
摘要:[toc] 容器rb_tree Red Black tree(红黑树)是平衡二叉搜索树(balanaced binary search tree)中常被使用的一种。平衡二叉搜索树的特征:排列规则有利于search和insert,并保持适度平衡——无任何节点过深。 rb_tree提供遍历操作及iter
阅读全文
摘要:[toc] 容器结构分类 这里的衍生,并非继承关系,而是一种包含关系。 例如heap中包含一个vector。 通过萃取机traits萃取迭代器的型别 容器list list在要内存时,不光需要一个指针,还需要指向前后的两个指针。 list的定义 list的node定义 G2.9编译器的设计是如下所示
阅读全文
摘要:[toc] array https://en.cppreference.com/w/cpp/container/array vector https://en.cppreference.com/w/cpp/header/vector
阅读全文
摘要:参考文献: [1] https://www.cnblogs.com/yyxt/p/4948930.html
阅读全文
摘要:一、vector与array的区别: array是静态空间,一旦配置了就不能改变,如果要换个大一点的房子,首先:需要配置一块新空间,然后将元素从旧地址一一搬到新地址,再把原来的空间释放给系统;vector是动态空间,随着元素的加入,它的内部机制就会自行扩充空间以容纳新元素。vector是吃多少用多少
阅读全文
摘要:《STL源码剖析》(3.7-SGI STL的私房菜:__type_traits)
阅读全文

浙公网安备 33010602011771号