Я видел, что ресурсы показывают два способа выделения памяти, гарантируя, что для завершения операции достаточно памяти.
1) заверните операцию "new" в try/catch, так как она вернет std:: bad_alloc (?)
try { ptr = new unsigned char[num_bytes]; } catch(...) {}
2) проверьте назначенный указатель на нуль после "новой" операции.
ptr = new unsigned char[num_bytes]; if(ptr == NULL) { ... }
Какой из них прав? Оба они работают? Нужно ли мне делать 1 и 2?
Спасибо,
JBU