我目前使用下面的代碼來獲取元素的當前行和列在一個二維int數組的列:讓行/動態二維數組元素
const int num_rows = 5;
const int num_columns = 7;
int a[num_rows][num_columns];
int *p = &a[2][4];
int row = (p - &a[0][0])/num_columns;
int col = (p - &a[row][0]);
也能正常工作,但現在我需要更改代碼以將行數和列數作爲參數。據我所知,這意味着我需要動態創建二維數組:
int** ary = new int*[sizeX];
for(int i = 0; i < sizeX; ++i)
ary[i] = new int[sizeY];
如果我創建二維數組這樣,上面的代碼,找到行/列休息。我能做什麼?
我認爲我可以讓它按照這種方式工作。這是一個更多的簿記,因爲它確實是一維陣列,但我想這是我的情況的最佳選擇。 – user987280