当我查看boost进程库的示例时,对象始终使用字符串名称构造。
segment.construct<Equipments>("name")("param1", "param2");
是否可以构造具有整数标识符的对象,如
segment.construct<Equipments>(123)("param1", "param2");
答案 0 :(得分:1)
你为什么要这样做?在任何情况下,你都可以用“肮脏”的方式做到这一点:
segment.construct<Equipments>((char*)123)("param1", "param2");
只要你的平台上的sizeof(char *)&gt; = sizeof(int)(它在Win32 / Win64上),就可以安全地将指针强制转换回整数而不会丢失信息。请确保不要将指针值用作有效的char*
指针。
哦,你必须确保底层库代码不会尝试将该值用作有效的char指针。