ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
16 июля
558655 Топик полностью
VVB (10.11.2014 11:55, просмотров: 100) ответил framer на Вот я об этом и говорил. В старой версии asio shared_ptr не использовалось и были такие ситуации, когда после деструктора вызывались хандлеры асинхронных операций. Диагностировать такое было просто невозможно.
Всё, дошло. В примере нет ни одной операции delete для объектов, размещённых на куче. Именно использование shared_ptr позволяет писать код без вызова деструкторов или операторов delete. Если бы я написал this, то возникла бы утечка памяти -- оператором new выделилось место на "куче", но никто не вызывает соответствующий оператор delete.