Показаны сообщения с ярлыком ООП. Показать все сообщения
Показаны сообщения с ярлыком ООП. Показать все сообщения

среда, 25 апреля 2012 г.

C++: Сколько памяти выделяет new []? или несколько слов о placement new

Компилятор позволяет опускать количество выделяемых элементов в new[]:
char* p = new char[];

Возникает два вопроса:
  • сколько памяти выделяется?
  • для чего это нужно?
Попытаемся ответить на эти вопросы.

вторник, 24 апреля 2012 г.

MATLAB: как правильно перехватить Ctrl+C

При долгих вычислениях иногда необходимо прекратить выполнение программы. Сделать это можно нажатием клавиш Ctrl+C в главном окне MATLAB.

Например, имеется функция, которая очевидно никогда не завершит своё выполнение:
function slow_function
 i = 1;
 while true
  i = i + 1;
 end
end

Запустив её, единственным способом прервать вычисления, как указывалось выше, является комбинация клавиш Ctrl+C, нажав которую MATLAB прекратить вычисления и покажет сообщение об ошибке:
>> slow_function
Operation terminated by user during slow_function (line 5)

В данном случае прерывание выполнения не приведёт ни к чему плохому. Однако в некоторых случаях требуется выполнять дополнительные действия (освобождать память, закрывать файлы, показывать на графике текущие результаты и т.д.).