0

我有一个二维双精度需要保存在循环缓冲区中。我宁愿将它放在一个缓冲区中,而不必跟上两个一维缓冲区。是否可以轻松地做到这一点,或者最好继续使用两个缓冲区?

4

1 回答 1

0

如果每个元素的大小相同,即 D1 x D2,则只需分配一个数组

double data[D1*D2*numElem]

并使用行/列主要索引( i*D2 + j 或 i*D1 + j)来访问每个元素中的值。当然,每当您调整大小或插入/删除元素时,都必须分配新缓冲区并复制值。如果每个元素的大小是可变的,或者您认为插入/删除/调整大小将很常见,请使用两个缓冲区。如果容器是稳定的并且迭代常见的元素,单个缓冲区可能会更好。

于 2012-08-18T14:56:38.090 回答