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