Re: Какой выбрать контейнер?
От: last_hardcoder  
Дата: 29.03.07 07:04
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Подскажите какой лучше выбрать контейнер (желательно stl), чтобы можно было сделать следущее:

А>1. Размер контейнера должен быть постоянный, т.е. я при инициализации указал — максимум 100 элементов, так вот если я делаю insert() 100ого элемента то, 0 элемент (т.е. самый первый) — удалялся
А>2. Данные в этом контейнере должны хранится следующим образом, если записываю этот контейнер в файл, то первым идет первый добавленный мною элемент, затем второй и т.д... (наверно это называется модель FIFO)


template<class T, int count> class CircleBuf{
  T data[count];
  int pos;
public:
  CircleBuf() : pos(0);

  T &operator[]( int idx ){
    return data[(pos + idx) % count];
  }

  void push_back( const T &val ){
    data[pos] = val;
    pos = (pos + 1) % count;
  }

  ...
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.