От: | Аноним | ||
Дата: | 29.11.05 07:59 | ||
Оценка: |
B>#include <new>
B>class some {/**/};
B>...
B>char* ptr = new char[sizeof(some)];
B>some* ps = new (ptr) some();
а, если, в этом месте указателем ps проинициализировать указатель auto_ptr
std::auto_ptr<some> ap(ps);
то при выходе из текущей функции деструктор класса some вызывается автоматически, это я вижу. А освобождается ли память?
B>...
ps->>~some();//Не забываем явно вызвать деструктор
B>delete [] ptr;//... и освободить память
B>