Форум программистов, компьютерный форум CyberForum.ru

Указатель на уничтоженный массив - C++

Восстановить пароль Регистрация
 
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
12.03.2012, 13:44     Указатель на уничтоженный массив #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int *point;
 
void func()
{
  int mass[16];
  for(int i=0; i<16; ++i) mass = 16-i;
  point = mass;
}
 
int main()
{
  func();
  return 0;
}
Собственно вопрос: запускается функция func, создается массив, заполняется, указатель указывает на массив, но по завершению функции массив удаляется. На что указывает указатель?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Duha666
50 / 50 / 5
Регистрация: 10.03.2012
Сообщений: 138
12.03.2012, 14:00     Указатель на уничтоженный массив #2
На адрес памяти, в котором ранее лежал массив.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
12.03.2012, 14:05  [ТС]     Указатель на уничтоженный массив #3
Но значения массива через указатель уже вернуть невозможно, так?
Duha666
50 / 50 / 5
Регистрация: 10.03.2012
Сообщений: 138
12.03.2012, 14:07     Указатель на уничтоженный массив #4
Как получится. Если тот участок памяти был перезаписан, то нет. Иначе - да.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.03.2012, 21:57     Указатель на уничтоженный массив #5
Для определённости всё же стоит считать, что нет - никак. Логически массив больше не существует, а языки высокого уровня и были созданы для того, чтобы абстрагироваться от железяки, в которой физически значения после удаления всё ещё лежат в памяти.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
12.03.2012, 22:08     Указатель на уничтоженный массив #6
лучше забыть как о страшном сне, что по указателю после удаления объекта еще может что-то быть) каждый раз, когда ты обращаешься к освобожденной памяти - бог убивает котенка.
Yandex
Объявления
12.03.2012, 22:08     Указатель на уничтоженный массив
Ответ Создать тему
Опции темы

Текущее время: 03:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru