我真的很想知道是否有可以在多个进程中使用的容器(地图,矢量,列表等)的任何stl / boost / custom等实现。
答案 0 :(得分:3)
首先,没有STL,曾经的STL现在只是C ++标准库(实际上 仍然是STL但大多数人在说STL是标准库时的意思)
标准库中没有任何内容可以为您提供这种跨进程功能。 这并不是说如果你将它们放入共享内存中,它们就不会进行跨进程的工作,但这并不是真正内置于集合中的。
毫无疑问,您可以将数据保存到磁盘上,但这似乎并非在您认为合适的流程中共享。
Boost 为您提供interprocess内容,其中包含C ++中镜像的集合代码,例如vector,deque和list。
我毫不怀疑可能在某个地方是某些自定义的,但在这种交互级别,大多数人只会选择数据库系统,因为它很容易提供跨进程数据,与所有有用的东西,如种族条件预防,等等。