Если я определить массив следующим образом:Доступ 2D массив с 1D итерация
int rows = 10;
int cols = 10;
double **mat;
mat = new double*[rows];
mat[0] = new double[rows*cols];
for(int r=1; r<10; r++)
mat[r] = &(mat[0][r*cols]);
Как перебрать этот массив через 1-измерение? . Я хотел бы сделать следующее:
mat[10] = 1;
, чтобы достичь того же, как
mat[1][0] = 1;
Есть ли способ разыменования двойной ** массив, чтобы сделать это?
@ RobinHartland возможно и интересно, но я видел некоторые (главным образом C) компиляторы, которые не согласятся с этим, поэтому я предпочитаю избегать этого вообще. Более того, это НЕ разрешит 'mat [1] [0]' или 'MAT [1] [0]', но 'mat (1, 0)' или 'MAT (1, 0)'. –
правда, а ваш менее запутанный: P –