Hello, MasterDimon!
You wrote on Thu, 23 Dec 2004 13:57:45 GMT:
M> Про malloc и new
M> в С# new и delete работают отлично.
А что, в C# уже есть delete?
M> В VC6 как-то столкнулся с тем, что память, выделенная с помощью new,
M> упорно не освобождалась, хотя всё было весьма прозрачно.
Ну, там есть бага с массивами 0 длины. Но, AFAIK, не такая. Еще были баги с
переопределение оператора new для массива объектов. Но в тривиальных случаях
все в шестерке работало нормально.
M> И пока не
M> вернулся к выделению через malloc и освобождению через free, шла утечка.
Что-то слабо верится. Не, в то что бага исчезла верю вполне, но вот в то,
что виноват new — не очень.
M> В VC7 не пытался.
S>> В пользу хорошей читабельности кода также свидельствует милая сишная
S>> привычка объявлять переменные в начале функции (нафига? оно ж в чистом
S>> С все равно не скомпилируется)
M> — Именно что привычка. Оставшаяся, кстати, ещё с Fortran77
Крайне вредная привычка. От которой желательно избавиться.
S>> Ну, еще из выделений памяти проверка на 0 только в одном.
M> — Проверки всегда вставляю в последню очередь, сначала добившись, чтобы
M> код работал с устройством. Когда пишешь под железо, не всегда
Типа бага в драйвере вдвойне приятней? Впрочем, тут гуй.
M> оправдывает себя изначально аккуратное написание с отслеживанием
M> всевозможных исключительных ситуаций
Когда пишешь программы, аккуратность себя оправдывает всегда.
With best regards, Sergey.
Posted via RSDN NNTP Server 1.9 delta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.