NIKr0m@nceR, угу. Только вот если написать внутри main:
PHP Code:
...
{ Test* t = new Test(); // создали объект в куче delete t; // и удалили его std::shared_ptr<Test> sh(t); // создали указатель на этот объект }
- то один фиг, деструктор для Test всё равно дважды вызовется... Хотя t на тот момент уже ни на что не ссылается.
Мораль - не использовать смарт-пойнтеры для объектов на стеке (по ссылкам их передавать, и всего делов), ну и не забывать обнулять "обычные" указатели после вызова delete.