c++ - 在 C++ 中有没有办法像在 Java 中那样进行垃圾回收?

刚开始学C++,想知道有没有Java的GC之类的。

抱歉,如果这个问题太基础了。我找到的答案对我来说太技术化了。

一个简单的解释......

最佳答案

好的,这是我对这个主题的看法。你可以试试 Hans Boehm conservative GC它应该(好吧,著名的遗言)与 C++ 一起工作得很好。

当我们在C++中通过new分配对象时,首先我们调用new运算符来获取原始内存,然后我们执行new表达式来进行对象初始化,调用构造函数等。看here用于讨论,但简而言之,Boehm GC 将全局::new 运算符替换为对 GC API 的调用。

全局::delete 运算符也被替换为基本上是空的调用 - GC 将回收内存。删除表达式将是相同的,整个 RAII 机制应该可以正常工作。

它写得很好,是一款不错的软件,如果我需要 GC 用于 C++ 项目,这就是我开始的地方。

https://stackoverflow.com/questions/74965560/

相关文章:

c# - 查找过去最近的日期

c# - Blazor (.net 7) 中的三种依赖注入(inject)语法有区别吗?

regex - Linux 提取特定字符串之间的文本

arrays - 如何将数组的元素移动到数组的开头

python - 什么时候值得在 if-else 语句上使用循环?

c# - C# 是否有某种 value_or_execute 或 value_or_throw?

powershell - 如何在 PowerShell 方法链接中使用换行符

r - 如何将整行作为列名?

python - 捕获具有正面前瞻性但不匹配模式的组的正则表达式

javascript - 使用 js 正则表达式验证 gsheet/excel 相对范围字符串