Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Ремарка 05.05.08 13:03 Число просмотров: 2509
Автор: amirul <Serge> Статус: The Elderman
|
В целом абсолютно согласен, но небольшое замечание сделаю
> buf1= new char [10000000]; > delete buf1; - учите язык
Абсолютно корректно (ну зачем нам деструкторы char-а?). Более того, в неявном виде я и сам такую запись использую постоянно:
std::auto_ptr<char> buf(new char[SIZE]);
Просто потому, что векторного auto_ptr-а нет. Другое дело, что скорее всего просто не знает отличий между скалярным и векторным delete и сделал свой выбор не осознанно (как в вышеприведенном примере), а по незнанию.
Собственно на том же месте другая грубейшая ошибка, которая в данном конкретном случае не приводит ни к чему фатальному
buf1= new char [10000000];
buf3= new char [10000000];
buf= new char [10000000];
//..............
delete buf1;
delete buf3;
delete buf;
//............
delete buf1;
delete buf;
delete buf3; ---
Порядок освобождения ресурсов не просто не обратный - а как бог на душу положит.
Полный разбор делать естественно не буду потому, что на код страшно смотреть - не то, что ковырять
> Структура программы отсутствует как класс. > > Итак по всему коду. Было бы удивительно, если бы все это > работало :))
|
|
|