Romeo » 19 дек 2007, 09:32
Да вы, батенька, шаман! Кто же удаляет объекты, созданные на стеке? Оператор
delete применяется для поинтеров, которые указывают на объекты, созданные оператором
new.
Объекты, созданные на стеке будут автоматически удалены при покидании области видимости объекта (в твоём случае прямо перед выходом из
main). Удалять их насильно не просто излишне, а критически неправильно.
И в первом, и во втором случае, будет вызван деструктор класса.
Да вы, батенька, шаман! Кто же удаляет объекты, созданные на стеке? Оператор [b]delete[/b] применяется для поинтеров, которые указывают на объекты, созданные оператором [b]new[/b].
[code]
A* pA = new A();
delete pA;
[/code]
Объекты, созданные на стеке будут автоматически удалены при покидании области видимости объекта (в твоём случае прямо перед выходом из [b]main[/b]). Удалять их насильно не просто излишне, а критически неправильно.
[code]
int main(int argc, char* argv[])
{
A a;
}
[/code]
И в первом, и во втором случае, будет вызван деструктор класса.