Здравствуйте, Аноним, Вы писали:
А>Подскажите какой лучше выбрать контейнер (желательно 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;
}
...
};