나는 다음과 같은 코드를 사용하여 공유지도에 공유 벡터를 삽입 할 :부스트 간 벡터, 만드는 여러 벡터 포인터
managed_shared_memory segment(create_only ,"MySharedMemory" ,65536);
typedef allocator<int, managed_shared_memory::segment_manager> vecAllocator;
typedef vector<int, vecAllocator> vec;
typedef std::pair<int, vec* > ValueType;
typedef allocator<ValueType, managed_shared_memory::segment_manager> ShmemAllocator;
typedef multimap<int, vec*, std::less<int>, ShmemAllocator> MyMap;
ShmemAllocator alloc_inst (segment.get_segment_manager());
vecAllocator vectorallocator (segment.get_segment_manager());
MyMap *mymap = segment.construct<MyMap>("MyMap")(std::less<int>(),alloc_inst);
vec *myvec = segment.construct<vec>("myvec")(vectorallocator);
vec *myvec1 = segment.construct<vec>("myvec1")(vectorallocator);
myvec->push_back(10);
myvec->push_back(9);
myvec->push_back(8);
myvec1->push_back(987);
myvec1->push_back(123);
myvec1->push_back(456);
for(int i = 0; i < 6; ++i){
for(int j = 0; j<6; j++)
mymap->insert(std::pair<int, vec*>(i, myvec));
}
for(int i = 0; i < 6; ++i){
for(int j = 0; j<6; j++)
mymap->insert(std::pair<int, vec*>(i, myvec1));
}
코드가 작동
를 ..하지만 내가 원하는 것은하지 않고 벡터를 구성이다 이름. 즉,이
vec *myvec = segment.construct<vec>(vectorallocator);
vec *myvec1 = segment.construct<vec>(vectorallocator);
같은 것을 할 것입니다 내가 루프 내부에 넣어 다르게 모든 루프를 이름에 문제가없는 경우 있도록. 그렇게 할 방법이 있습니까? 적어도 루프마다 다르게 이름을 지정하는 자동 방법이 있습니까?