如何使用boost :: simple_segregated_storage?

时间:2017-01-25 01:11:00

标签: c++ boost boost-pool

我尝试使用boost :: simple_segregated_storage,但我不能理解如何正确使用它。没有任何样品。我以下一种方式使用它:

dirs = "north west south east".split
  #=> ["north", "west", "south", "east"]

["direction"].product(dirs)
  #=> [["direction", "north"], ["direction", "west"],
  #    ["direction", "south"], ["direction", "east"]] 

但我收到了崩溃。我做错了什么错误? 如何以正确的方式使用它?

2 个答案:

答案 0 :(得分:2)

您应该使用pStorage.add_block(block, block_sz, partition_sz);而不是segregate(),因为segregate()仅用于将块分隔成块(我​​假设你知道块和块的概念,如果没有,{{3是一个插图)。 add_block()隔离block并将其空闲列表合并到pStorage的免费列表中。在add_block()之后,pStorage不为空,您可以从中分配内存。

答案 1 :(得分:0)

不应该是“int block[num_partitions]”,因为它是一个“int”数组