STL
gyafdxis
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
展开
-
简单的adajent_find_t copy_t count_1_t简单的实现
#include #include#includeusing namespace std;/*这里利用了游标Iterator实现了adajent_find_1实现的是在first - last之间的找出adajent and equal的元素返回的是找到相等元素的第一的元素的地址如果没有则返回last*/template ForwardIterator>ForwardIterator原创 2015-04-05 17:10:50 · 495 阅读 · 0 评论 -
C++之Concept
STL中的Concept和Boost库的Concept_Check在generic programming当中,一个重要的概念就是concept(滑稽的是,如果把这个concept也翻译成“概念”,那就狗屁不通了。我倾向于说它是“操作集”)。concept就是一组操作,如果一个type具有这些操作,那么就说这个type是这个concept的一个model。这其中的思想有那么一丁点像是o转载 2015-07-30 09:23:18 · 6235 阅读 · 0 评论 -
STL memory pool的详细解析下
首先需要把你的需要取得内存块转换成8的倍数这样转换 (m+ 8 - 1)&~(8-1)这样的话就可以转化了,然后直接找打自由链表的节点需要这个函数freelist_index这个函数可以计算你的第几个自由链表;然后直接找到自由链表中的现在可以使用的头结点的地址这里用my_free_list = freelist + index;然后找到之后就开始分配了,看看你的自由联是不是还有可以分配原创 2015-11-03 21:48:05 · 794 阅读 · 0 评论 -
南阳oj
时间限制:3000 ms | 内存限制:65535 KB难度:3 描述现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序2.对于编号相等的长方形,按照长方形的长排序;3.如果编号和长都相同,按照长方形的宽排序;4.如果原创 2015-05-11 11:41:52 · 604 阅读 · 0 评论 -
STL memory pool的详细解析上
其实我感觉SGI STL的memory pool其实比较简单的,我记着大一的时候看的时候感觉挺复杂的,但是现在看不难,而且我对SGI STL的memory pool感觉十分厉害;我分析了一下这个内存池可能有内存碎片估计就这个几个地方;估计是memory pool中最后小于8字节的内存碎片 还有就是在freelist中的小于8字节的内存碎片,很简单freelist可以很大的改善,可以把1原创 2015-11-03 20:02:05 · 1586 阅读 · 0 评论