Здравствуйте, Лазар Бешкенадзе, Вы писали:
ЛБ>Здравствуйте, Nick-77, Вы писали:
N7>>N7>>static MType *f(MType *val, int size){
N7>> MType tmp;
N7>> if (val)
N7>> tmp = *val;
N7>> else
N7>> // do smth to create new
N7>> ;
N7>> // .....
N7>> return &tmp;
N7>>}
N7>>
N7>>т.е. вроде как несмотря на то, что формально tmp и её адреса после выхода из f не существует, реально стек ещё никто не успел (?) испортить и содержимое верное.
ЛБ>Адрес то существует.
ЛБ>Я не знаю как сегодня но в 1998 это был отстой. Было понятие signal. Между выходом из функции и попыткой использовать содержимое по этому адресу может произойти туча всего и этот стек будет перезаписан 10 раз.