Я хотел бы использовать разделяемую память между несколькими процессами и хотел бы иметь возможность продолжать использовать необработанные указатели (и контейнеры stl).
Для этой цели я использую общую память, отображаемую по фиксированному адресу :
segment = new boost::interprocess::managed_shared_memory(
boost::interprocess::open_or_create,
"MySegmentName",
1048576, // alloc size
(void *)0x400000000LL // fixed address
);
Какова хорошая стратегия выбора этого фиксированного адреса? Например, следует ли мне просто использовать довольно большое число, чтобы уменьшить вероятность того, что у меня закончится место в куче?