静态初始化与动态初始化

T3p*_*ni9 2 c++ java

为什么在C++中,我们更喜欢静态初始化到动态初始化?什么是重要的?如果静态初始化是如此高效,那么为什么新的语言如Java,C#使用动态初始化?

小智 8

我们没有.我们更喜欢自动初始化 - 即在堆栈上创建对象(而不是堆).如果我们这样做,他们的生命周期就会为我们管理.这是C++相对于Java的众多优势之一.至于为什么Java这样工作,你应该问设计师,但我猜它是为了简化垃圾收集(同时引入了很多其他问题).