我正在将一些C ++代码移植到Actionscript 3,只是有一个让我感到困惑的小问题。

在一项功能中,参数之一是int* myPtr。 myPtr是2D数组&my2DArray[x][y]的元素的地址。 x和y也是函数的参数。我只是对代码访问时正在访问的内容(例如myPtr[1])感到困惑。我认为这将是my2dArray中的下一个元素,但是我不确定这是my2DArray[x+1][y]还是my2DArray[x][y+1]。谢谢你的帮助。

附加信息:
my2DArray由以下人员创建:

//initPtr is a int*, auxPtr is a int*, as is temp1
initPtr = (unsigned int *)NewPtr(
      sizeof(unsigned int) *
      X * Y);
  }

  auxPtr = initPtr ;

  for (i = 0; i < X; i++) {
    temp1 = auxPtr + i * Y;
    my2DArray[i] = (short *)temp1;
  }

unsigned char* NewPtr(
  int size)
{
  return ((unsigned char*)calloc(size, sizeof(unsigned char)));
}

最佳答案

这将是my2DArray[x][y+1]。 C ++对多维数组索引使用行优先顺序。这意味着内存的大跳转是最左侧索引的更改,而单个元素跳转是最右侧索引的更改。

09-07 03:47