我有一个 C++ 类,类似于
class Block {
...
scoped_array<Columns> columns_
...
}
现在据我了解,由于使用了数组,因此 Columns 数组的内存将是连续的。
代码的几个部分随机访问该数组的元素,即columns_[x]。
我想重构代码,使连续内存不再是一个约束。因此,我假设我必须用不具有传染性的东西替换 scoped_array。
但是,如果可以的话,我不想重新分解其他代码,以便仍然可以进行 columns_[x] 类型访问。
我可以在这里使用数据结构吗?我想我可以用 C++ 列表替换它,但是我将失去 columns_[x] 样式访问权限。我可以使用boost中的任何数据结构来代替不需要连续内存的数据结构吗?