_L_>В чем разница? Кроме как синтаксиса обращения. Единственное преимущество вижу в том, что его удалить можно в любой момент. Но сколько ни смотрю исходники программ везде вижу:
_L_>
_L_>CHTMLDoc* pHTMLDoc = new CHTMLDoc;
_L_>

_L_>Потому и возник ламерский вопрос.

Динамическая память в С++ используется в следующих типовых случаях

    1. Необходимость "ручного" контроля над временем жизни объекта, т.е. моментами его создания/уничтожения.

    2. Тип объекта не известен на стадии компиляции (размер массива, конкретный
    тип полиморфного объекта).

    3. Количество отдельных объектов не известно на стадии компиляции (элементы
    списка, узлы дерева).

    4. По каким-то имплементационно-зависимым причинам объект не может быть создан в других типах памяти (например, слишком велик для автоматической памяти в данной реализации).

В остальных случаях (если я ничего не упустил) создавать объект имено в динамической памяти нет никакой необходимости.

В твоем примере имеет место, скорее всего, первый или второй случай (или оба сразу).
Автор: Андрей Тарасевич    Оценить