
Дмитрий
18.09.2016
09:00:43
Она откинется через год другой и что ты будешь делать?

Paul
18.09.2016
09:01:41
Слишком громкое заявление
Нет, теоретически можно везде писать безопасно
Но это уникальные кадры

Google

Дмитрий
18.09.2016
09:02:00
И ангуляре, ага
Образец для подражания

Paul
18.09.2016
09:02:41
Умные указатели это счётчики ссылок или указатели с десктруктором
Теряешь в производительности
Не будешь же все указатели оборачивать
В расте не тоже самое
В этом и идея
borrow checker смотри
><
Учи матчасть.
И да, кроме денглинг поинтеров и коротких лайфтаймов раст неплохо следит за многопоточностью. Плюс нормальная система типов.

Дмитрий
18.09.2016
09:04:21
Фанат раста в треде, все в укрытие

Paul
18.09.2016
09:04:44
Фанат-не фанат, а пока не будет конструктивной критики, тебя воспринимать в серьёз вряд ли стоит.

Google

Дмитрий
18.09.2016
09:05:12
Самомнение у тебя охренеть, конечно

Paul
18.09.2016
09:05:18
Ты же говорил про умные указатели. Если всё обложить умными указателями, то (очевидно) кресты будут медленными.
Поэтому так никто не пишет на крестах.
Нет, это принципиально разные вещи
borrow checker это проверки в компайл-тайме
А умные указатели это райнтайм код
В расте они тоже есть, так-то (счётчики Rc и Arc для меногопоточных)
Молодец. Идея в дестркукторе, который освобождает память.
Это если компилятор доказал, что тип простой твой
Число какое-нибдуь
Ты точно понимаешь что такое unique_ptr (и другие: shared_ptr и пр)?
Да, о чём я тебе и сказал
Ты предлагаешь все указатели поменять на умные
Т.е. по факту привезти GC в язык
Борроу чекер позволяет использовать простые указатели
Без дестркуторов и прочее
Пока это реально не будет требоваться.
Мда. Туго быть тобой.
Разберись уже что такое lifetime, и чем указатель отличается от умного указателя.
unique_ptr это указатель с деструктором.

Google

Paul
18.09.2016
09:10:11
И используется он, когда ты не можешь сказать, когда нужно освободить память
Дык, именно. Но зачем создавать unique_ptr в стеке?

Admin
ERROR: S client not available

Paul
18.09.2016
09:11:13
Так вот borrow checker позволяет тебе не использовать счётчики и unique пока в этом не появится реальная необходимость
Где в крестах ты либо рискуешь (гугли dangling pointer), либо обезопасываешься этими unique/shared
Причём тут куча вообще ><
Смотри, есть у тебя int
Ты хочешь с ним поработать
Ты можешь его на стеке выделить и он станет невалидным при закрытии скопа
unique_ptr же выделит его на куче
А на стеке останется твой указатель + деструктор
Воот. А через некоторое время другой разраб в конце функции решил заовнить его

Paul
18.09.2016
09:13:37
И приехал данглинг поинтер
Нельзя.
Ну или недосмотрел
Чаще всего и то и то
А общие договорённости это какие?
Всегда использовать unique_ptr и терять в производительности?
Ты реально не знаешь, что такое unique_ptr?
Я не буду искать это бенчмарк, потому что так *никто не пишет*. Это практически как писать c GC

Google

Paul
18.09.2016
09:17:12
Разумеется.