How are Deques implemented? I've read that they use arrays of arrays. Is that right?


Maybe something like this?

Code:
Block<T> base[8];

template<typename T>
struct Block
{
   T* data;

   int size;
};