我正在寻找std :: vector或std :: array of tuples的变体,其中元组元素被非交错放置到单独的内存区域而不是交错,例如,std ::矢量<标准::元组< ...>取代.
对此的动机是
>更好地控制对齐,从而提高矢量优化的性能.
>当在OpenGL中连接低级CPU-GPU数据传输操作(例如顶点和颜色数组)时,防止我们必须解压缩数据元素.
迭代器应该构造并返回一个boost :: tuple<>在被解除引用时即时.
我知道并非所有STL成员函数都可以在此容器中有效支持.例如,STL data()容器成员函数必须将所有单独的数组动态压缩到一个可变的动态创建的向量容器中并返回其data().
有没有人建造过这样的桌子容器?
解决方法:
Boost.Iterator正是你所描述的:boost::zip_iterator