Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2011, 13:14   #11
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
В классическом С было три типа new и два типа delete.
В C не было (и нет) ни одного из этих операторов.
А так же в С нет понятия перегруженный оператор

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
для всех типов new - использовать оператор delete pointer.
Если память выделена как
Код:
int* a = new int[10];
Освобождать ее надо с помощью оператора delete[]:
Код:
delete[] a;

Цитата:
Сообщение от pproger Посмотреть сообщение
применение delete к нулю не дает какого-либо эффекта.
Действительно. Другое дело, если попытать освободить одну и ту же память несколько раз, тогда будет ошибка. Поэтому всегда рекомендуется после освобождения присваивать указателю значение 0
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария

Последний раз редактировалось Blade; 10.06.2011 в 13:16.
Blade вне форума Ответить с цитированием
Старый 10.06.2011, 13:58   #12
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Blade
Цитата:
В C не было (и нет) ни одного из этих операторов.
я думаю автор имел ввиду "C with classes". все и так знают, что в ansi c нет таких операторов)
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 10.06.2011, 14:20   #13
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
Сообщение от pproger
я думаю автор имел ввиду
Далеко не факт)
Цитата:
Сообщение от Blade
Поэтому всегда рекомендуется после освобождения присваивать указателю значение 0
Тут проблема в том, что на один и тот же участок памяти могут ссылаться несколько указателей. Удалив участок через один указатель, мы не сможем в другие указатели, ссылающиеся на этот участок, записать 0)
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 10.06.2011, 15:55   #14
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Granus Посмотреть сообщение
Далеко не факт)
Тоже так думаю. Я например о "Си с классами" даже не подумал. Возможно потому, что никогда не имел с ним дело

Цитата:
Сообщение от Granus Посмотреть сообщение
Тут проблема в том, что на один и тот же участок памяти могут ссылаться несколько указателей. Удалив участок через один указатель, мы не сможем в другие указатели, ссылающиеся на этот участок, записать 0)
Я говорил про отдельный случай. А по поводу конкретно того, что в начале темы обсуждалось, все уже правильно отписали
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
icq отсутствие ответов divwond Работа с сетью в Delphi 1 15.02.2011 20:11
Отсутствие отрисовки на DC Alex Cones Win Api 3 04.02.2011 11:59
Автоматическое преобразование на основе первого аргумента конструктора в вызов самого конструктора jennya Visual C++ 8 03.10.2010 19:03
Отсутствие IP GAGARIN-NEW Работа с сетью в Delphi 1 17.01.2008 17:56
Проверка на отсутствие данных в БД Elena БД в Delphi 5 14.06.2007 16:10