在一个多维数组中,第二个维度的大小是已知的(尽管每个第一维度的大小不同),从性能角度来看,对于实际构建这些数组,硬编码是否更快?
int* number[1000];
int secondDim[1];
number[0] = secondDim;
int secondDimTwo[2];
number[1] = secondDim;
或者每次动态分配第二个维度:
等等,这样重复1,000遍(我知道,我知道)
for(int i = 0; i < 1000; i++)
number[i] = new int[i+1];
我在尝试理解一个概念。
这个概念与IT技术有关。
Row
类作为myData
的切片会更加清晰,而不是返回原始的int*
。这不仅可以使注释变得多余,还可以确保适当的边界检查。 - Matthieu M.(i + (i + 1)) / 2
比内存访问更快。)而且(单个)向量从一开始就具有正确的大小。通过封装,几乎不可能避免单个动态分配,而没有封装,像这样的事情几乎不可能维护。 - James Kanze