c++中的垃圾收集器
Garbage Collector in c++
我有一个项目,必须用c++实现垃圾收集器。现在我必须交付类图,但我不知道如何做到这一点。
有人能解释一下垃圾收集器是干什么的吗?谷歌没帮我!!我发现了很多有很多类和变量的东西。
我们考虑一种简单的语言,其中只有两个预定义的类,Int和Real(如Java),分配在4或8个字节上。
我有像int a、real b 这样的声明
分配语句(x=y)
退货对账单(退货x)
当声明一个对象时,内存是从对应于适当大小和空闲地址的动态分配的内存区域中分配的,对象的参考计数器初始化为1
-每次赋值,递增引用计数对象。传递值时也会发生同样的情况以功能形式存在,以及返回的说明
-每次函数体在有对象声明的地方结束时,它都会递减引用计数器
-当对象的引用计数达到0时,它会释放内存
我应该实现多少个类?只有2个预定义类。。。每个类都必须有一个变量"counter",或者有一个第三类拥有计数器?
垃圾收集器是一种定期服务,当分配的内存不再使用时,它会自动解除分配。
注意,它不处理堆栈上分配的变量,如
int a;
char b;
但是具有在堆中分配的变量(即使用new
语句分配的变量)。
在实践中,当您有一个垃圾收集器时,您不再需要显式地delete
分配变量,因为垃圾收集器将为您执行此操作。
相关文章:
- V8垃圾收集器回调,用于测量GC活动
- 写一个日志收集器/阅读器,有什么好的设计吗?
- 设置自定义收集器时不会提升::log尊重关键字::max_size吗?
- 编译C 电池收集器教程的错误
- Raii vs.垃圾收集器
- 获取 Mark Sweep 垃圾收集器C++的根
- 我们可以在 C 或 C++ 中手动操作垃圾收集器吗?
- 有没有办法从 C 程序创建数据收集器集
- c++中的垃圾收集器
- boost:text_file_backend file_name和收集器目标
- Swift 中的 ARC 与 Java 中的垃圾收集器有何不同
- C++使用垃圾收集器是矫枉过正,什么是更好的解决方案
- C++使用clang/llvm的精确垃圾收集器
- 将由垃圾收集器删除导出到C#的C++类
- wxWidgets有某种垃圾收集器
- 使用引用计数的基本垃圾收集器
- 垃圾收集器c++
- 垃圾收集器:对象图的数据结构
- 是否有可能通过实现java引用shared_ptr来摆脱java中的垃圾收集器?
- 如何构建一个垃圾收集器