我正在寻找元组的std::vector
或std::array
的变体,其中元组元素位于 非交错 进入单独的内存区域而不是交错,例如,std::vector<std::tuple<...>>
。
这种动机是
迭代器应在取消引用时构建并返回boost::tuple<>
即时 。
我知道并非所有STL成员函数都可以在此容器中有效支持。例如,STL data()
容器成员函数必须将 动态压缩 将所有单独的数组一起放入一个可变的动态创建的向量容器中并返回其data()。
是否有人构建过这样的表容器?
答案 0 :(得分:4)
Boost.Iterator完全符合您的描述:boost::zip_iterator
答案 1 :(得分:1)
创建一个支持迭代的瘦包装器和围绕tuple<vector, vector, vector>
的一些其他操作并以这种方式表示数据怎么样?我不知道任何提供所需接口的标准容器。