Ну, можно и просто хранить список запросов, а потом их выполнять в момент запроса результата. Только вот не вижу тут выигрыша особого. Все-равно придется все операции сделать. Ну и проблемы могут быть с Insert. Т.е. ты записал операцию, сохранил там указатель на переданные данные, а потом вызывающий код эти данные удалил... или надо сначала их скопировать куда-то к себе. Тогда получается двойное копирование для этой операции. Сплошной проигрыш.
Выигрыш только тогда, когда ты можешь какие-то операции схлопнуть. Но это очень не тривиальная задача.
Но если очень хочется,то создай специальный класс, например
Код:
CMemOp
{
int op;
int ops;
int len;
void * data;
}
который будешь склвдывать в список (хочешь сделай себе массив, хочешь - воспользуйся чем-нить из STL). Потом просто будешь "проигрывать" этот список.