Здравствуйте, 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>>