标准C++没有垃圾回收机制的原因:
1) 没有共同基类
C++是从C发展而成,允许直接操作指针,允许将一个类型转换为另一个类型,对于一个指针无法知道它真正指向的类型;而Java或C#都有一个共同基类
2) 系统开销
垃圾回收所带来的系统开销,不符合C++高效的特性,使得不适合做底层工作
3) 耗内存
C++产生的年代内存很少,垃圾回收机制需要占用更多的内存
4) 替代方法
C++C++有析构函数、智能指针、引用计数去管理资源的释放,对GC的需求不迫切
本文探讨了标准C++未采用垃圾回收机制的原因,包括缺乏共同基类、追求高效性不适合底层开发、早期内存限制及已有资源管理方式等因素。
标准C++没有垃圾回收机制的原因:
1) 没有共同基类
C++是从C发展而成,允许直接操作指针,允许将一个类型转换为另一个类型,对于一个指针无法知道它真正指向的类型;而Java或C#都有一个共同基类
2) 系统开销
垃圾回收所带来的系统开销,不符合C++高效的特性,使得不适合做底层工作
3) 耗内存
C++产生的年代内存很少,垃圾回收机制需要占用更多的内存
4) 替代方法
C++C++有析构函数、智能指针、引用计数去管理资源的释放,对GC的需求不迫切
3185

被折叠的 条评论
为什么被折叠?