Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему в с++ не реализована автоматическая система очистки мусора как в с# или как в том же java

Дьявлос Начос Ученик (8), закрыт 3 года назад
Лучший ответ
Андрей Высший разум (466062) 3 года назад
Потому, что C++ в том числе и язык системного программирования. Сборка мусора упрощает написание кода, но сужает область использования языка программирования. И C#, и Java - языки прикладного уровня.

Не хочешь вручную очищать память - используй в C++ умные указатели, которые вполне себе похожи на автоматическую сборку мусора.
Дьявлос НачосУченик (8) 3 года назад
Я понял
Это и является преимуществом с++… т. е. благодаря этому язык более низкоуровневый
Остальные ответы
H-p A Просветленный (47009) 3 года назад
Своего рода сборщик мусора там есть. Правда, это работает не на этапе выполнения, а на этапе компиляции (добавляются очистки туда, где надо). И работает только для тех данных, под которые ты не выделял память в куче (то есть вручную) или если все обернуто соответствующими классами. Иначе говоря - не надо писать на C++ как на Си, и тогда можно почти не вспоминать о том, что там нет сборщика мусора как такового.

Вместо массива использовать vector, вместо char[] - string и т. д.
Дьявлос НачосУченик (8) 3 года назад
Но это немного усложняет код
"Чисто моя мнение" - если это не так, то тогда дайте знать
Дьявлос Начос Ученик (8) Дьявлос Начос, *ё
Похожие вопросы