<分区>
我理解他们缺乏 C:可以将多维数组模拟为数组的数组而没有开销。但是,在 C++ 容器中,例如 vector
不太适合那个。虽然可以,而且(唉)通常会做类似 vector< vector< double > >
的事情,这样的结构可能会导致:
(1) 维护问题,如不保证所有内部vector
s 大小相同;
(2) 显着的内存开销,例如内部 vector 大小和数据指针的多个实例;
(3) 显着的性能缺陷,由于行之间缺乏空间对齐以及每行必须多做一次非必需的间接内存访问。
为什么要让每个开发人员都自己编写代码来重新发明轮子 grid
或 matrix
?