Re[4]: malloc vs new []
От: DemAS http://demas.me
Дата: 24.01.08 14:47
Оценка:
Здравствуйте, LaptevVV, Вы писали:

Спасибо. Можно я по ходу буду вопросы задавать?

LVV>В автоматической памяти размещаются локальные не статические объекты, которые объявляются в любом блоке, в том числе в теле любой функции. В частности, переменные, объявленные в теле главной функции, тоже являются локальными. Память таким объектам выделяется в момент объявления, а уничтожаются такие объекты в конце области видимости. Естественно, наиболее подходящей реализацией является размещение локальных объектов в стековой памяти (хотя в стандарте об этом нет ни слова).


Я правильно понял, что память под все переменные объявленные в функции будет выделена в момент вызова этой функции и освобождена в момент выхода из функции?
Это же относится и к методам/переменным, объявленным в методе класса?


LVV>Уничтожение объектов и возврат памяти выполняется операцией delete, например

LVV>
delete p1;

LVV>Естественно, указатель должен быть именно тот, который использовался при создании динамического объекта операцией new.

А вот так корректно делать:
     int *p1 = new int();
     int *p2 = p1;
     delete p2;

?
... << RSDN@Home 1.2.0 alpha rev. 786>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.