javatoyou 发表于 2013-2-1 11:12:15

C/C++字符串处理(5):std::deque与std::TextPool

C/C++字符串处理(5):std::deque与std::TextPool



许式伟
2008-4-4


引子

std::TextPool 基于 std::deque 实现。所以尽管本文讨论 std::deque,但是所有的结论对 std::TextPool 同样有效。
实现概要

顾名思义,这是一个“双向队列(double-ended queue)”。这意味着从队列开始和结束处插入(删除)数据的性能很好。为了达到这个目的,std::deque 基于一种分段连续的、介于数组和链表之间的数据结构,示意如下:
<div class="code"><div class="hl-main">template <class _E>
class deque
{
enum { BlockSize = 512 };

typedef _E Block;

std::vector<Block*> m_storage;
iterator m_first, m_last;
};
页: [1]
查看完整版本: C/C++字符串处理(5):std::deque与std::TextPool