【发布时间】:2012-08-18 23:15:06
【问题描述】:
我有一个二维双精度需要保存在循环缓冲区中。我宁愿将它放在一个缓冲区中,而不必跟上两个一维缓冲区。是否可以轻松做到这一点,还是最好只使用两个缓冲区?
【问题讨论】:
-
你能稍微澄清一下你的意思吗?你的意思是一个二维的双精度数组吗?当您说需要将其保存在循环缓冲区中时,您的意思是什么?
-
很难准确地说出您要查找的内容,但通过简单的算术运算,可以将一维数组视为二维数组。只需执行
arr[ y * width + x ]即可获取xy 位置的元素。 -
@David - 是的,像 'double myDouble[1];' 这样的二维数组我需要存储在一个循环缓冲区中。
-
@Dave 我没有真正尝试过任何东西,我正在查看 boost::circular_buffer 的文档,想知道我是否可以这样做或必须使用两个缓冲区。
-
@Ylisar 这可能是我要研究的问题,但它确实使缓冲区访问复杂了一点。
标签: c++ boost circular-buffer