Есть ли класс, который делает сборку мусора для C ++.Я думал что-то вроде:
class A : public GarbageCollected<A>
{
void kill()
{
GarbageCollected<A>.set_cleanup_flag();
}
...
private:
GarbageCollectedPointer<B> b_pointer; // Somehow we follow
GarbageCollectedPointer<B> b_pointer2; // these pointers.
};
class B
{
...
};
class GarbageContainer
{
...
};
int main()
{
GarbageContainer gc;
gc.add(new A());
...
}
Идея заключалась в том, что GarbageContainer
будет метить и сканировать объекты или какой-либо другой метод сбора мусора.Это избавило бы от необходимости делать подсчет ссылок и использовать уязвимые места, и сборщик мусора можно было бы использовать только для объектов, в которых это было необходимо.
Есть ли библиотеки, которые реализуют что-то подобное?