Если "имя" это массив, то возвращаемый new указатель указывает на первый элемент массива. При создании с помощью new многомерных массивов следует указывать все размерности массива:
mat_ptr = new int[3][10][12]; // так можно
mat_ptr = new int[3][][12]; // нельзя
…
delete [] mat_ptr; //освободить память, занятую
//массивом, на который указывает
//mat_ptr
Существует глобальная переменная _new_handler, представляющая собой указатель на функцию типа void _new_handler(void). Если new не может выделить память, она проверяет _new_handler. Если _new_handler == NULL, то возвращается 0, иначе вызывается функция, на которую указывает _new_handler.
Пример:
void MyNewHandler(void)
{
puts("Out of memory.");
// здесь выполняются необходимые действия по
// завершению программы
exit(1);
}
_new_handler = &MyNewHandler;