Здравствуйте, _Lestat_, Вы писали:
_L_>В чем разница? Кроме как синтаксиса обращения. Единственное преимущество вижу в том, что его удалить можно в любой момент. Но сколько ни смотрю исходники программ везде вижу:
_L_>_L_>CHTMLDoc* pHTMLDoc = new CHTMLDoc;
_L_>
_L_>Потому и возник ламерский вопрос.
Подозреваю что имелось в виду создание на хипе и на стеке. Если время жизни конструироемого тобой обьекта выходит за рамки области видимости текущей функции, то обьект нужно создавать динамически. В противном случае тебя очень даже выручит нединамический вариант на стеке. Еще иногда обьект бывает полем другого обьекта, и тогда, если есть возможность, нужно строить обьект нединамически, в таком случае управление памятью в проекте становится значительно проще. В случаях с динамическими обьектами желательно использовать обертки из смарт поинтеров, в СТЛ есть к примеру auto_ptr, во многих случаях он бывает очень полезен, в других библиотеках есть подобные классы с другими стратегиями, все это делается ради удобства и качественной реализации, нужно стараться как можно больше разгрузить деструктора классов, заставить компилятор беспокоиться о высвобождении занятой динамической памяти.