【发布时间】:2012-05-14 15:48:28
【问题描述】:
我有一个 managed_shared_memory 对象,其中包含定义如下的地图容器 SharedMap。
typedef std::pair<std::string, T> ValueType;
typedef allocator<ValueType, managed_shared_memory::segment_manager> ShmemAllocator;
typedef map<std::string, T, std::less<std::string>, ShmemAllocator> SharedMap;
我的问题是我需要确定我正在使用的共享内存的大小。 map的key是一个未知大小的std::string,数据是一个未知大小的模板类型,每个数据的大小都会变化。
谁能建议我如何跟踪我正在使用的内存?
我是 boost::interprocess 的新手,所以任何建议都会有很大帮助。
【问题讨论】:
-
我的建议是看看我在你之前的问题上给出的答案,它解释了为什么这段代码是错误的,而你完全忽略了。
标签: c++ memory-management boost boost-interprocess