声明连续的2D数组指针

时间:2015-11-19 06:49:04

标签: arrays pointers

我已经学会了使用指针声明动态2D数组。但是我被告知这不会创建一个连续的2D数组。

int **p;
p = new int*[M];
for (int i = 0; i < M; ++i) {
    p[i] = new int[N]; }

修改代码以创建指向连续2D数组的动态指针的方法是什么?

2 个答案:

答案 0 :(得分:1)

对于连续的2D数组,请创建一个大小为MxN的缓冲区,并使用y * M + x对其进行访问:

const int M=10, N=5;
int *p = new int[M*N];
  for (int y = 0; y < N; ++y)
    for (int x = 0; x < M; ++x)
      p[y*M+x] = y*M+x;
      
for (int x = 0; x < M*N; ++x)
      std::cout << p[x] << std::endl; 

答案 1 :(得分:0)

试试这个

.config(['flowFactoryProvider', function (flowFactoryProvider) {
flowFactoryProvider.defaults = {
 target: '',
 permanentErrors: [500, 501],
 maxChunkRetries: 1,
 chunkRetryInterval: 5000,
 simultaneousUploads: 1
};