Как выделить один блок памяти с новым?

У меня есть двумерный массив, который я выделил динамически, используя новый.

Проблема в том, что я хочу выделить память как один связанный блок, а не как отдельные части, чтобы увеличить скорость обработки.

Кто-нибудь знает, возможно ли это сделать с новым, или мне нужно использовать malloc?

Вот мой код:

A = new double*[m];
    for (int i=0;i<m;i++)
    {
        A[i]= new double[n];
    }

Этот код вызывает ошибку сегментации

phi = new double**[xlength];
phi[0] = new double*[xlength*ylength];
phi[0][0] = new double[xlength*ylength*tlength];
for (int i=0;i<xlength;i++)
{
    for (int j=0;j<ylength;j++)
    {
        phi[i][j] = phi[0][0] + (ylength*i+j)*tlength;
    }
    phi[i] = phi[0] + ylength*i;
}

Ответы на вопрос(3)

Ваш ответ на вопрос