W C++11's language feature list znajduje się:C++ 11 Garbage Collector - Dlaczego i Hows
minimalne wsparcie dla zbierania śmieci i wycieku osiągalności oparte wykrywania
(ale wydaje się, nie bądź realizowane w GCC i Clang.)
Dlaczego standardowa komisja wprowadziła tę funkcję zbierania śmieci C++?
Czy C++ naprawdę potrzebuje GC? Czy RAII nie jest tak doskonałym wzorcem (który może być użyty jednolicie zarówno dla zasobów pamięci, jak i pamięci, takich jak gniazda, pliki, tekstury ...)?
Czy GC złamie jednolitość wzorca kodu C++, który używa RAII?
Niektórzy twierdzą, że GC może się przydać, aby przerwać okrężne zależności, ale czy nie jest w porządku używanie do tego celu inteligentnych wskaźników, takich jak weak_ptr
?
Co się stanie w przypadku odrzucenia wyjątków? W jaki sposób zmodyfikowany zostanie stos modyfikacji semantyki, aby wziąć pod uwagę GC?
Czy zostanie wprowadzony również wzór C# -like IDisposable
?
Co więcej, zakładając, że GC zostanie wprowadzony w C++, czy składnia wskaźnika będzie inna? na przykład Czy będziemy mieli jakieś "wskaźniki" w kształcie kapelusza? ^
, podobnie jak w rozszerzeniach C++/CLI lub C++/CX? Powinien istnieć sposób odróżnienia od zwykłych surowych wskaźników w porównaniu do "zarządzanych" wskaźników, prawda?
C++ nie posiada GC i nigdy nie będzie mieć. –
'weak_ptr' jest statyczne, nie może przerwać cykli dynamicznych. I jak to mówi, dodaje * minimalną obsługę * (w zasadzie definiuje rzeczy związane z osiągalnością). Cała reszta jest czystą spekulacją i nie należy do SO. –
@AlexChamberlain GCs dla C++ już od dawna. –