LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

в каком-то смысле да, только он компил тайм
Такие «проблемы» только поначалу возникают, и скорее всего из-за нажитых в других языках привычек

Это не проблема языка, в сложной программе невозможно определить когда именно должна быть очищена память, потому что условия для этого определяются в рантайме. Нельзя в момент компиляции вычислить где именно должен быть free.

Известно несколько решений, например GC, или различные инструменты как счетчики ссылок.

Box тоже умный указатель, но его мувинг стоит ровно столько же копирование указателя/ссылки

Я и не говорил что он влияет на производительность, но его невозможно применить в сложных ситуациях, именно поэтому есть другие смартпоинтеры.

да любая из базовой инфраструктуры рачта, посмотрел сейчас ripgrep

278 <'
24 RefCell
77 Arc

Причем там нет никаких сложных структур, разбирай себе текст да разбирай, хоть на статичной памяти.

Исходная версия MOPKOBKA, :

в каком-то смысле да, только он компил тайм
Такие «проблемы» только поначалу возникают, и скорее всего из-за нажитых в других языках привычек

Это не проблема языка, в сложной программе невозможно определить когда именно должна быть очищена память, потому что условия для этого определяются в рантайме. Нельзя в момент компиляции вычислить где именно должен быть free.

Известно несколько решений, например GC, или различные инструменты как счетчики ссылок.

Box тоже умный указатель, но его мувинг стоит ровно столько же копирование указателя/ссылки

Я и не говорил что он влияет на производительность, но его невозможно применить в сложных ситуациях, именно поэтому есть другие смартпоинтеры.

да любая из базовой инфраструктуры рачта, посмотрел сейчас ripgrep

278 <'
24 RefCell
77 Arc