![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL源码解析
chen_song_
人终将被年少不可得之物质而困其一生
展开
-
STL源码之序列式容器list
前言STL中list链表即双向链表又是循环链表正文一, STL源码之序列式容器list的节点和内置内存申请alloc节点的设计1, 使用两个指针 父节点指针和下一个节点的指针template <class T>struct __list_node { typedef void* void_pointer; void_pointer next; void_pointer prev; T data; //数据};2, 内置的内存分配器是链表结构 使用需要一个节点的原创 2020-06-30 20:20:08 · 292 阅读 · 0 评论 -
STL源码解析之内存分配器alloc
前言正文一, C++中的对象new的流程在C++中 new是调用::operator new (); //分配内存的在调用赋值函数 construct();释放的流程destroy() ::operator delete ; //释放内存 //初始化对象的值 template <class T1, class T2> inline void construct(T1*p, const T2& value) { new (p) T原创 2020-06-25 14:38:06 · 446 阅读 · 0 评论 -
STL源码之模版语法实现
C++中模版语法解1, 模版参数做特殊化设计#include <iostream>template<class T, class O>class ctest_class{public: ctest_class() { std::cout << "I, O" << std::endl; } // static int m_data;};//特殊化处理template<class T>class ctest_cla原创 2020-06-21 23:34:36 · 206 阅读 · 0 评论