Построение объекта на разделяемой памяти с целочисленным идентификатором - PullRequest
0 голосов
/ 03 ноября 2010

Когда я смотрю на примеры библиотеки межпроцессного ускорения, объекты всегда создаются со строковым именем.

segment.construct<Equipments>("name")("param1", "param2");

Возможно ли построить объект с целочисленным идентификатором, например

segment.construct<Equipments>(123)("param1", "param2");

1 Ответ

1 голос
/ 03 ноября 2010

Почему вы хотите это сделать? В любом случае, вы можете сделать это немного «грязно»:

segment.construct<Equipments>((char*)123)("param1", "param2");

Пока sizeof (char *)> = sizeof (int) на вашей платформе (как на Win32 / Win64), указатель может быть безопасно возвращен к целому числу без потери информации. Просто убедитесь, что вы не используете значение указателя как действительный указатель char*.

О, и вы должны быть уверены, что базовый код библиотеки не будет пытаться использовать значение в качестве действительного указателя на символ.

...