gpt4 book ai didi

c++ - 使用整数标识符在共享内存上构造对象

转载 作者:行者123 更新时间:2023-11-28 08:25:57 24 4
gpt4 key购买 nike

当我查看 boost 进程间库的示例时,对象总是使用字符串名称构造的。

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

是否可以构造具有整数标识符的对象,如

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

最佳答案

你为什么要这样做?在任何情况下,你都可以用“有点”肮脏的方式来做:

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

只要 sizeof(char*) >= sizeof(int) 在您的平台上(在 Win32/Win64 上),指针就可以安全地转换回整数而不会丢失信息。请确保您没有将指针值用作有效的 char* 指针。

哦,您必须确保底层库代码不会尝试将该值用作有效的字符指针。

关于c++ - 使用整数标识符在共享内存上构造对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4085770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com