Loading

随笔分类 -  《STL源码剖析》

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