标准C++没有垃圾回收机制的原因:
1) 没有共同基类
C++是从C发展而成,同意直接操作指针,同意将一个类型转换为还有一个类型,对于一个指针无法知道它真正指向的类型;而Java或C#都有一个共同基类
2) 系统开销
垃圾回收所带来的系统开销,不符合C++高效的特性,使得不适合做底层工作
3) 耗内存
C++产生的年代内存非常少,垃圾回收机制须要占用很多其它的内存
4) 替代方法
C++C++有析构函数、智能指针、引用计数去管理资源的释放,对GC的需求不迫切
2022-07-10 19:50:30
标准C++没有垃圾回收机制的原因:
1) 没有共同基类
C++是从C发展而成,同意直接操作指针,同意将一个类型转换为还有一个类型,对于一个指针无法知道它真正指向的类型;而Java或C#都有一个共同基类
2) 系统开销
垃圾回收所带来的系统开销,不符合C++高效的特性,使得不适合做底层工作
3) 耗内存
C++产生的年代内存非常少,垃圾回收机制须要占用很多其它的内存
4) 替代方法
C++C++有析构函数、智能指针、引用计数去管理资源的释放,对GC的需求不迫切