因为垃圾回收机制会降低运行效率,不符合C++高效的原则。而且C++是从C发展而来的,允许手工操纵指针,于是把分配内存和回收内存的任务交给了程序员,而不是系统。
垃圾回收技术是最近(C++诞生后)才提出来的,它需要虚拟机或托管平台的支付。C++开发平台没有这个环境
java里是虚拟机自动收集不再需要使用的内存;C++中需要用delete手工释放内存。
因为java是改进c++的产物,是站在巨人的肩膀上,时代不同了,C++产生的时代,内存是那么的可怜,一个gc自己本身是多么可怕的开销,再加上引用计算等。
而且C这样的语言,诞生之初是为了底层开发的,需要的是高效,完全控制。不是别人代劳。