无类型的连续内存容器

Posted

技术标签:

【中文标题】无类型的连续内存容器【英文标题】:Untyped contiguous memory container 【发布时间】:2015-02-05 20:56:16 【问题描述】:

我正在编写一个事件总线,我需要一个 std::vector 的动态容器。容器本身不是类型感知的,但从中存储和检索对象是类型感知的,因此每个容器都保证具有相同类型的对象。 (有类型到索引的映射)。

我想知道是否有 STL 或 boost 工具可以帮助解决这个问题。我想避免直接使用placement new 和handle alignment。

【问题讨论】:

【参考方案1】:

std::raw_storage_iteratorstd::get_temporary_buffer 可能也会有所帮助。不过,它们的级别低于std::vector。例如,请参阅cpp reference。

【讨论】:

【参考方案2】:

boost::any 解决了大多数这些问题,但调用者需要知道类型。

【讨论】:

数据不会连续存储。

以上是关于无类型的连续内存容器的主要内容,如果未能解决你的问题,请参考以下文章

数组和容器(集合)相关的杂记

STL容器

容器经典图

STL 基本容器

关于集合

java 6 -数组