> -- hothing писал(а):
> Можно. А как насчет уборки мусора ("внутри", а не "снаружи")? Реализовать самому, и для каждой задачи? Уборка мусора - не самая тривиальная задача.

А внутри контейнера, среди этих микрообъектов такая сложная логика, что нельзя освобождать явно? Нет простой логики владения?

Сборка мусора обязательна в двух ситуациях:
1) В расширяемой системе, где между компонентами гуляют объекты - и явно контролировать владение, его передачу и т.п. очень сложно (что пробует делать Rust, но статически с глобальным анализом, а не для расширяемых систем. (Читаем классические обоснования у Шиперского в EthOS).
2) ВсюдуТо есть, решающий свою задачу программист не должен думать об освобождении памяти, иначе будет какой-то процент ошибок, и система будет ненадёжной не на логическом уровне, а на уровне недетерминированного повреждения памяти.

А где можно без сборки мусора:
Когда вы пишите замкнутый компонент, с внутренними объектами, с ограниченной логикой, которую можете спокойно верифицировать. А потом уже 1000 раз безопасно использовать 1 раз написанное.