Сохранение локальной переменной
От: Sigmov  
Дата: 06.12.08 07:16
Оценка: :))
Необычное задание.
Есть функция:
void* PAS( int t)
{
    return &t;
}
Результат ~ я имею указатель на пустое место, ибо локальная переменная t была деконструирована по завершению функции.

А мне по заданию необходимо использовать этот указатель.

Ограничения:
параметр функции нельзя заменить на int& или int*.
нельзя выделять новую память.
[ например return memcpy(malloc(sizeof(int)),&t,sizeof(int)) ]
нельзя объявлять статические переменные
[ static int f = t ; return &f ; ]

И вот в чем дело: надо каким-то образом заблокировать удаление(деструктуризацию) из памяти локальной переменной t, оставив за ней память.
Тогда и из возвращенного указателя я смогу получить значение.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.