|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene Karpachov 2:5020/400 31 Jan 2003 17:30:37 To : Valentin Nechayev Subject : Re: 386SX and RedHat_8.0 -------------------------------------------------------------------------------- Fri, 31 Jan 2003 13:14:48 +0000 (UTC) Valentin Nechayev написал: > Дело не в try/catch. Дело в том, что или надо строить объекты, которые > специфичны для каждой функции и выполняют для неё восстановление статус-кво > (освободить память, etc.), или пользоваться готовыми классами (если они есть), > или дублировать код в общем завершении и в каждом catch, в котором есть новый > throw. Зверски неудобно. Страуструп как-то писал, почему он не захотел > делать try/finally, но объяснения выглядят неубедительно. Для Вас, Вы забыли написать. > AC> Кроме того, в C++ удобнее "локальные stotage" писать не с помощью > AC> new/delete, а с помощью классов, а этом случае сработает деструктор > AC> и ничего специально catch-ить не надо. > > А каждый раз писать новый класс для этого разве удобно? Во-первых, ничего страшного, во-вторых, их можно делать на лету, комбинируя подход, который описал Александреску и что-нибудь типа boost::function<>. -- jk --- ifmail v.2.15dev5 * Origin: JSC OSPAZ (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/149386065995.html, оценка из 5, голосов 10
|