Я создал массив пар, используя следующий код:
double *points = new double[(ii+1)*(jj+1)*(kk+1)*3];
Я понимаю, что для удаления массива все, что мне нужно сделать, это:
delete[] points;
Тем не менее, массив создается в функции (называемой create_points), которая передает адрес первого элемента следующим образом:
return &points[0];
Код, который вызывает эту функцию, затем перебирает адрес:
double *address = create_points(x_dim,y_dim,z_dim);
for(int k=0; k<x_dim+1; ++k)
for(int j=0; j<y_dim+1; ++j)
for(int i=0; i<z_dim+1; ++i) {
v[p_count].x = *address;
++address;
v[p_count].y = *address;
++address;
v[p_count].z = *address;
++address;
++p_count;
}
Теперь мой вопрос: как мне правильно удалить массив пар, для которого используется адрес? Могу ли я просто пойти delete[] address
, или я должен сделать это другим способом?