内嵌变长数据结构范例——trbstrmap
摘要:
以前的这篇文章介绍了嵌入的变长数据结构(embeded)本文介绍一个使用这种思想实现的通用strmap容器,相当于:std::map。实现上使用了我以前写的线索红黑树——相比标准map的实现,节省了一半的结点存储开销,而平均查找时间只付出很小的额外开销,并且没有代码膨胀问题。使用大多数情况下trbstrmap // Compare是可选的,allocator 总在类范围,可以修改:trbstrmap::s_vtab.alloc = ....;为了节省空间,trbstrmap使用一个字节存储strkey_length,因此,strlen(strkey)不可超过255,允许长度为0的key。最大长 阅读全文
posted @ 2009-11-03 22:13 能发波 阅读(170) 评论(0) 推荐(0)
浙公网安备 33010602011771号