Я создаю вектор в разделяемой памяти, используя шаблон Boost shared_memory_manager:
using namespace boost::interprocess;
typedef allocator<nIcon*, managed_shared_memory::segment_manager> ShmemAllocator;
typedef std::vector<nIcon*, ShmemAllocator> icons_v;
if(already_running)
{
managed_shared_memory segment(create_only, "MySharedMemory", 65536);
const ShmemAllocator alloc_inst (segment.get_segment_manager());
icons = segment.construct<icons_v>("icons_v")(alloc_inst);
} else {
managed_shared_memory segment(open_only, "MySharedMemory");
icons = segment.find<icons_v>("MyVector").first;
}
Теперь, чтобы получить доступ к вектору, я не могу использовать скобки standart [], потому что компилятор говорит, что использует.или -> это ошибка.Как получить доступ к векторным элементам?