The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз языка программирования Go 1.8"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для слежения за появлением новых сообщений в нити, нажмите "Проследить за развитием треда".
. "Релиз языка программирования Go 1.8" –1 +/
Сообщение от Аноним (-), 17-Фев-17, 19:31 
> Потому что до тех пор, пока у нас есть указатель вписывающийся в идею uniq_ptr, отследить время жизни объекта не просто, а крайне просто. Я не знаю кем надо быть, чтобы забыть его удалить.

Не всегда просто. Легко забыть сделать delete перед return в середине функции. Особенно если указателей несколько, return-ов тоже несколько, и надо перед разными return надо делать разный набор delete. Также вместо преждевременного return бывает исключение, да ещё в какой-нибудь вложенной функции.


> Пфеу.

Принято. :)


> Да, подсчёт ссылок решает большинство таких проблем, я о том и говорю.  Но не все.

Так и GC не все. Да, теоретически GC может освободить больше памяти, чем RAII. А практически - оба подхода работают очень хорошо. А RAII может ещё и другие ресурсы автоматически освобождать, например закрывать файлы, сетевые соединения, БД-соединения и т.д.


> В этом случае спасает.

Циклические ссылки циклическим ссылкам рознь. Не всегда GC может их правильно раскрутить.


> unsafe код

Посмотрите презентацию повнимательнее, дальше 7-й страницы. Так не только unsafe код.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз языка программирования Go 1.8, opennews, 17-Фев-17, 13:03  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру