Загрузка...

Операция new с массивами


Если "имя" это массив, то возвращаемый 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;

Загрузка...