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

free и метки - C++

Восстановить пароль Регистрация
 
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
29.12.2010, 21:48     free и метки #1
Здравствуйте, господа.

Никак не могу найти ответы на след. вопросы:

1). Для того, чтобы освободить выделенную ранее память, необходимо использовать, например, функцию free. Однако в таком случае я постоянно вижу сначала free (a), после чего a = NULL. Для чего это делается?

2). Многие говорят, что метки использовать надо как можно меньше. Как их тогда заменять в случае, например, если нам надо заново запустить функцию, в которой мы сейчас находимся?

Заранее благодарю за возможные ответы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2010, 21:48     free и метки
Посмотрите здесь:

C++ Метки
C++ Кнопки, метки и окна редактирования
Как по условию выйти из метки case C++
Метки C++
C++ free
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
29.12.2010, 23:07     free и метки #2
Когда освобождается память, выделенная под указатель, указатель продолжает содержать адрес уже освобожденной памяти. Переменной-указателю назначают NULL, чтобы дальше в программе проверить на наличие выделенной памяти под указатель.

Метки нужно использовать как можно реже. Чаще всего они используются в системном низкоуровневом программировании. Там это более-менее оправдано. В ядре линукса есть пару меток.
Приведите пример такой осмысленной функции, которую надо начать с начала.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
30.12.2010, 04:28     free и метки #3
Цитата Сообщение от YourLastSong
Как их тогда заменять в случае
заменять на цикл с ясным условием выхода
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
30.12.2010, 04:47     free и метки #4
Цитата Сообщение от lemegeton Посмотреть сообщение
В ядре линукса есть пару меток.
В реализации GNU стандартной библиотеки С они тоже есть
Yandex
Объявления
30.12.2010, 04:47     free и метки
Ответ Создать тему
Опции темы

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