java - 静态初始化与动态初始化

标签 java c++

为什么在 C++ 中,我们更喜欢静态初始化而不是动态初始化? 有什么大不了的?如果静态初始化如此高效,那么为什么 Java、C# 等新语言使用动态初始化?

最佳答案

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

关于java - 静态初始化与动态初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2029531/

相关文章:

c# - 用于 P/Invoke 访问的引脚数据

java - 不同模块中的GAE/Java cron.xml相互覆盖?

java - 有没有像 CVS 这样的 scm Gradle 插件?

C++ 非 ASCII 字母

python - Modern/2020 从 Python 调用 C++ 代码的方法

c++ - STL 映射值构造函数

java - 管理多模块项目的最佳方法?

java - 在日志附加程序中记录堆栈跟踪

java - Guava 可选择使用多个对象和字段

c++ - 以秒为单位获取 boost::posix_time::time_duration