|
"C with Classes"
|
|
Сборщик мусора01.12.2019, 19:38. Показов 10371. Ответов 54
Метки нет (Все метки)
Наткнулся на такие строки и прошу пояснить, что значит.
Во многих языках управление ресурсами в основном делегируется сбор щику мусора. С++ также предлагает интерфейс сборки мусора, так что вы можете подключить сборщик мусора. In many languages, resource management is primarily delegated to a garbage collector. C++ also offers a garbage collection interface so that you can plug in a garbage collector На чем основывается этот интерфейс? И как его подключить. (это про сторонние библиотеки что ли?)
0
|
|
| 01.12.2019, 19:38 | |
|
Ответы с готовыми решениями:
54
Сборщик мусора задача не для новичков- сборщик мусора
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 01.12.2019, 23:32 | ||
|
Я вообще говоря ожидал что вместо этого полиморфный объект будет хранить виртуальный метод getMyAddress, через который и будет вытягиваться нужный аллокатору адрес Child*. А сам аллокатор будет не привязан к конкретному типу, а работать как обертка над malloc. Ну, второй пункт в polymorphic_allocator и правда сделали. А вот с первым затык.
0
|
||
|
Комп_Оратор)
|
|
| 01.12.2019, 23:46 | |
|
_stanislav, GC -шные библиотеки "одевают" всё. Начинается от new и заканчивается одетыми указателями. Это аналоги смартпойнтеров. Напиши свою реализацию упрощённо и поймёшь. Вот ссыль (я смотрел по диагонали - вроде похоже на правду).
https://www.codeproject.com/Ar... on-library Самый главный в С++ вопрос о GC звучит так: - А зачем (зачем - мягко сказано) тогда С++? (имхо). Когда ты напишешь систему поиска нужного объекта для удаления при выходе из области, - одну, вторую, третью, - поймёшь, - лучше на Жаве писать и не мучать ЖоЦэ.
1
|
|
|
"C with Classes"
|
|||
| 02.12.2019, 05:06 [ТС] | |||
|
0
|
|||
|
Комп_Оратор)
|
||||
| 02.12.2019, 10:59 | ||||
|
Добавлено через 12 минут Не по теме: зы это у всех такие тормоза с форумом или у меня только?
0
|
||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 02.12.2019, 11:25 | |
|
IGPIGP,
Так все дело в том что программист в случае стандартного gc "не одевает" указатель. Нет никаких обёрток. http://www.stroustrup.com/C++11FAQ.html#gc-abi По этой ссылке ничего подобного нет. Работа идёт по прежнему, только не думаем о delete (за то начинаем держать в голове правила работы с gc). Поэтому мне не понятно почему уже вторую страницу речь идёт про обёртки, в то время как тема о стандартном gc. Понимаю, сейчас зима, хочется одеться самому и одеть указатели, но указатели не мерзнут, можете не переживать
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 02.12.2019, 11:55 | ||
|
А, стоп, вот же ответ - "There is no standard way of saying which alternative you prefer. Considered that a "quality of implementation" and a "programming environment" issue. ". То ли цитату первого апреля писали, то ли снизу постучали.
1
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 02.12.2019, 12:50 | |
|
Renji,
Нормальному gc ничего сообщать обычно не нужно. На то он и gc, что бы отслеживать ресурсы без вмешательства программиста иначе от него скорее будет больше проблем чем пользы
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 02.12.2019, 13:04 | ||
|
0
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 02.12.2019, 13:11 | |
|
Renji,
Согласен, это должно быть без принуждений. Чтоб был вкл/выкл... А когда он вкл, что бы сам следил за ресурсами. Но думаю что все таки эта фича не для с++, даже с возможностью вкл/выкл
0
|
|
|
Комп_Оратор)
|
||
| 02.12.2019, 13:24 | ||
|
Добавлено через 12 минут Undisputed, вы читали текст по предложенной вами ссылке? Тогда обратите внимание на предложенную там БС ссылку на реализацию: https://dl.acm.org/citation.cf... 31.1542437
0
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 02.12.2019, 14:28 | |
|
IGPIGP,
В С++ я gc не пользовался. Но это никак не меняет сути gc. Не вижу кода по вашей ссылке. А на ФАГе Страуструпа код есть и указатели в нем не одетые.
0
|
|
|
Комп_Оратор)
|
||||||
| 02.12.2019, 14:44 | ||||||
|
Undisputed, ваш ответ содержит две несовместимые части. И не только в последнем посту. Но давайте с последнего начнём:
0
|
||||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 02.12.2019, 15:32 | |
|
IGPIGP,
Я читал текст по той ссылке. И по контексту я понял что сборщик должен уметь работать с указателем, полученным через new, то есть не одетым указателем. Если вы считаете что я где-то ошибся, то прошу укажите конкретно на ошибку. А то шума много, но ничего конкретного нет
0
|
|
|
Комп_Оратор)
|
|||
| 02.12.2019, 15:45 | |||
0
|
|||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 02.12.2019, 15:55 | |
|
IGPIGP,
1) Где вы там увидели про базовый класс? 2) Указатель это не классовый тип и унаследовать функционал класса он не может
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 02.12.2019, 16:01 | ||
|
И не заведется оно на классах. Делаем сборщик мусора на основе подсчета ссылок, прям как в shared_ptr. Объект A ссылается на объект B, а объект B ссылается обратно на A. Где эти A и B лежат никто уже и не знает, но счетчик ссылок то не нулевой! Утечка памяти. Делаем сборщик мусора считающий достижимость объекта из указателя в локальных и глобальных переменных. А откуда умному указателю знать локальный он или в динамической памяти лежит? Особенно, если он в другой объект вложен. В рамках C++ затея получается еще более сомнительной.
1
|
||
|
Комп_Оратор)
|
||||
| 02.12.2019, 16:15 | ||||
|
Добавлено через 2 минуты
0
|
||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 02.12.2019, 16:16 | |
|
IGPIGP,
Отличаю. Так где там про базовый класс то написано?
0
|
|
|
"C with Classes"
|
|
| 02.12.2019, 17:01 [ТС] | |
|
Undisputed, я думаю ты правильно понял работу стандартного GC.
Добавлено через 13 секунд солидарен.
0
|
|
|
Комп_Оратор)
|
|
| 02.12.2019, 18:51 | |
|
0
|
|
| 02.12.2019, 18:51 | |
|
Очистка мусора Сборка мусора
Уборка мусора из double Как избавиться от записи мусора? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|