Re[2]: Насколько корректно использовать адрес переменной в стек
От: sts  
Дата: 02.09.17 21:32
Оценка:
Здравствуйте, Лазар Бешкенадзе, Вы писали:

ЛБ>Здравствуйте, 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 раз.
бред
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.