В Список возможностей для языка С++ 11:
Минимальная поддержка для сбора мусора и утечки на основе доступности Обнаружение
(но, похоже, он не реализован ни в GCC, ни в Clang.)
Почему стандартный комитет представил эту сборку мусора С++ langauge?
Действительно ли С++ нужен GC? Разве RAII не обладает таким превосходным шаблоном (который можно использовать равномерно как для памяти, так и для ресурсов без памяти, таких как сокеты, файлы, текстуры...)?
Будет ли GC нарушать однородность кода кода С++, который использует RAII?
Некоторые люди говорят, что GC может пригодиться для разрыва круговых зависимостей, но разве это не просто использовать интеллектуальные указатели, такие как weak_ptr
для этой цели?
А что происходит в случае исключения? Как изменить семантику стека, чтобы принять во внимание GC?
И будет ли введен образец С#-like IDisposable
?
Кроме того, если предположить, что GC введен в С++, будет ли синтаксис указателя другим? например Будем ли мы иметь какие-то шляпные "указатели" ^
как в расширениях С++/CLI или С++/CX? Должен существовать способ отличить от обычных указателей raw-указателей против "управляемых" указателей, правильно?