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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
#1

free и метки - C++

29.12.2010, 21:48. Просмотров 466. Ответов 3
Метки нет (Все метки)

Здравствуйте, господа.

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

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

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

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

Метки - C++
Есть ли команда в С++ наподобие команды в паскале label 1; 1:, т.е. метки. Если можно пример. Спасибо всем большое!

Метки - C++
Есть такой вопрос, как курсор к коде переставить в то место куда мне надо (в паскале Label) в с++ есть что то похожое?? Пример: если...

Метки не любят else? - C++
Как избавиться от ошибки на 53-ей строчке? #include <iostream> #include <fstream> using namespace std; const int n=21; ...

Кнопки, метки и окна редактирования - C++
Пожалуйста помогите))) или хотя бы объясните))) Написать программу, которая вычисляет (вместе с рамкой) Дана: длина ребра куба a. ...

Можно ли в C++ ставить метки-break? - C++
в с++ нельзя ставить метки-break?

Метки и вывод наименьшего угла треугольника - C++
Доброго времени суток! Есть задание: Треугольник задается координатами своих вершин. Среди некоторого количества треугольников указать...

Как по условию выйти из метки case - C++
Подскажите такое дело Например есть автомат MODE= MODE_2; for(;;) { switch MODE { case MODE_1: func1; ...

free - C++
Выделил память под массив(строку), размером 5 элементов. char *str; str = (char*)calloc(5,sizeof(char)); if (str == NULL) { ...

C-Free Standart - C++
Для формулы: Y=1.7*x+7.8*sin(2.1*x)+3.4*(х-1)-7.2 , A=-3,B=3,H=0.1. Составить программу построения таблицы значений функции при изменении...

с free в delete - C++
Как эту функцию можно переписать с помощью delete? void A(int **p,int r){ int **pr; for(pr = p; pr < pr + r; tr++) ...

calloc, free. - C++
как правильно выделить память для двумерного массива а, при m=5,n=10 используя функцию calloc. и как правильно ее освободить при помощи...

ошибка с free - C++
#define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> #include <iostream> #include <conio.h> #include <math.h> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
29.12.2010, 23:07     free и метки #2
Когда освобождается память, выделенная под указатель, указатель продолжает содержать адрес уже освобожденной памяти. Переменной-указателю назначают NULL, чтобы дальше в программе проверить на наличие выделенной памяти под указатель.

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru