C++ 在共享内存中存储和操作对象数组

C++ 在共享内存中存储和操作对象数组,c++,arrays,object,shared-memory,C++,Arrays,Object,Shared Memory,我最初的问题是 我想将一组对象写入共享内存。假设我们知道共享内存的起始地址。我应该如何将对象数组存储到共享内存中,并在以后操作数组(例如,访问数组中的一个特定对象,甚至访问该对象的字段)?我是否需要将对象序列化到内存中,并实现相关的访问方法,或者C++有内存管理机制来处理细节吗? 这不是一个特别考虑的答案,但是我看不出你在哪里被卡住,因为你没有提供任何代码给我们提示。 这里有一个示例程序——有足够的注释,让您了解如何实现您的要求 所以,我想说,仔细阅读并试一试:)你能发布一些你尝试过的代码吗?你

我最初的问题是


我想将一组对象写入共享内存。假设我们知道共享内存的起始地址。我应该如何将对象数组存储到共享内存中,并在以后操作数组(例如,访问数组中的一个特定对象,甚至访问该对象的字段)?我是否需要将对象序列化到内存中,并实现相关的访问方法,或者C++有内存管理机制来处理细节吗?

这不是一个特别考虑的答案,但是我看不出你在哪里被卡住,因为你没有提供任何代码给我们提示。 这里有一个示例程序——有足够的注释,让您了解如何实现您的要求


所以,我想说,仔细阅读并试一试:)

你能发布一些你尝试过的代码吗?你似乎对某些事情有一些误解,但如果不了解你的思路,就很难知道。你需要寻找一个关于如何使用共享内存的好教程,通过这种方式,您可能会了解更多…共享内存只会确保您拥有一个可以跨不同进程访问的公共内存块。一旦共享了一块内存,它就可以像本地存储一样访问,在那之后,它就没有什么特别的了。@Pubby我还处于设计阶段,还没有开始编码。基本上,我的问题归结为以下几点:当我们要求我们的系统创建一个对象数组时,它会根据自己的选择分配一个连续的内存块,并以自己的方式存储我们的对象。现在我想做同样的事情(即,有同样的能力访问我们的对象),除了这次我想将对象数组存储在我们选择的连续内存块中(例如,共享内存)。@Terry LiYifeng:共享内存不是选择分配到哪里。通常通过别名访问以前共享的内存。如果要将对象放置在以前分配的内存(共享或其他)中,请搜索“placement new”