Нет. Дело в том, что new не умеет создавать думерные массивы
int x = 6; int y = 8;
ew int [x][y]; //error: the value of 'y' is not usable in a constant expression
Зато (по аналогии с вектрором, вы можете создать массив uniq_ptr-ов, ссылающийся на массив uniq_ptr-ов
typedef unique_ptr<A[]> a_arr;
typedef unique_ptr<a_arr[]> a_2d_arr;
a_2d_arr p1(new a_arr[8]);
p1[0].reset(new A[6]);
//...
Но вообще-то такой подход не очень удобен и очень неэффективен с точки зрения локальности памяти, и обычно создают одномерный массив размером m
xn, который затем интерпретируют как двумерный.