我正在使用boost lib来保留共享内存。我已经能够保留float,int,string类型的向量但不确定如何为结构类型分配?
我使用以下代码为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的信息,以便有其他有效方法。请提一下。