новые данные, зачем тебе старые?
var S := 'default value'; try S := FuncWithException; except on E: ETimeOut do .. end;
в случае строк - это выделение\освобождение памяти. очень медленная операция, поэтому сделали так
Да не только строк, массивы туда же, ну и записи, т.к. внутри может быть всякое
Ну а если в текущей реализации у тебя функцияуже успела запороть строку, но вылетела с птичкой?
массивы тоже выделение\осводождение. записи ты зря сюда приплетаешь
В текущей реализации такая проблема существует, так что работаем как есть
Ну так он с записью точно так же работает
Вроде менеджер памяти у дельфи довольно шустрый и оптимизирован как раз подтакие задачи?
только с записями содержащими управляемые типы
менеджер памяти шустрый? врут. всё отнеосительно
Шустры, только в любом случае выделение памяти - не бесплатная вещь
а, понял о чем ты)) тогдп надо писать "Ну так он с записью точно так же бажит" )) еслит ты отсутствие варнингов имеешь ввиду))
Я так и написал, только без слова "баг")
Это в лазаре?
для простых типов несложно отследить "Result := ", а для сложных, например для структуры - что? отлеживать "Result.xxx := " ?
Да. Рекорды не отслеживает.
Обсуждают сегодня