1

我正在使用 boost lib 来保留共享内存。我已经能够为浮点、整数、字符串类型的向量保留,但不确定如何为结构类型分配?

我使用以下代码为 int 类型的向量保留内存(我只写了一些代码):

typedef allocator<int, managed_shared_memory::segment_manager>  ShmemAllocator_int;
typedef vector<int, ShmemAllocator_int> vector_int;
.............
 const ShmemAllocator_int alloc_inst_int (segment.get_segment_manager());

 vector_int *IMG_ID_LIST = segment.construct<vector_int>("IMG_ID_LIST")(alloc_inst_int); 

在为结构分配内存的情况下,如何使用上述代码?

我想为一个结构保留内存,在该结构中我可以将上述向量与类似的向量一起存储。例如,我的结构有点像下面:

struct img{
vector<int> Id;
vector<float> size;
vector <int> Name;
}

我怎样才能为这个结构保留内存?我的另一个困惑是在我为结构 img 分配内存之后,我是否也应该为结构元素的 Id、size 和 Name 分配内存?

我必须在内存中获取数千个img的信息,所以如果有其他有效的方法。请提及。

4

0 回答 0