ледить за указателями внутри о
Автор admin Вторник, 5 мая 2009 11:32
ледить за указателями внутри объектов и за тем, как происходит освобождение ресурсов при запуске исключений в конструкторах. Исключения в деструкторах запрещены Деструкторы вызываются в процессе запуска исключений, поэтому никогда не следует запускать исключения в деструкторах или выполнять какие-либо действия, которые могут привести к запуску исключений в деструкторе. Если это произойдет, новое исключение может быть запущено раньше достижения секции catch текущего исключения, что приведет к вызову terminate(). Если в деструкторе вызываются функции, которые могут запускать исключе-\\ эти вызовы должны быть заключены в блок try внутри деструктора, и деструктор должен обработать все исключения сам. Ни одно исключение не должно выйти за пределы деструктора. Избегайте низкоуровневых указателей Вернитесь к примеру Wrapped.срр, представленному ранее в этой главе. Низкоуровневый указатель, для которого в конструкторе выделяются ресурсы, обычно создает потенциальную угрозу утечки памяти. Указатель не имеет деструктора, поэтому ресурсы не освобождаются при возникновении исключения в конструкторе. В качестве указ
Комментарии закрыты.
Последние комментарии