Как использовать boost :: simple_segregated_storage?

Я пытаюсь использовать boost :: simple_segregated_storage, но не могу понять, как правильно его использовать. Там нет никаких образцов. Я использую это следующим образом:

boost::simple_segregated_storage<int> pStorage;

const int num_partitions = 100;
const int partition_sz = sizeof(int);
const int block_sz = partition_sz * num_partitions;
int block[block_sz] = {};

pStorage.segregate(block, block_sz, partition_sz);

int* pInt = (int*)pStorage.malloc(); // <-- Crashes here

Но я получил крах. Что я делаю не так и где ошибка?
Как правильно его использовать?

0

Решение

Вы должны использовать pStorage.add_block(block, block_sz, partition_sz); вместо segregate(), как segregate() просто для разделения блоков на куски (я полагаю, вы знаете концепцию блоков и кусков, если нет, Вот это иллюстрация). add_block() сегрегируется block и объединить свой свободный список в pStorageсвободный список. После add_block()pStorage не пуст, и вы можете выделить из него память.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]