【发布时间】:2016-08-05 08:50:36
【问题描述】:
我是 Fortran 新手。我的问题是为什么我们需要 Fortran 中的可分配数组?我知道一个好处是你不需要事先知道尺寸。但是还有性能原因吗?
比如数组用完以后就不会再使用了,我们就释放数组。与不使用可分配数组(即常规数组)相比,这种解除分配是否有助于释放更多内存?
【问题讨论】:
-
是什么让您认为它们在 Fortran 中是需要的?大多数语言功能是为了方便,而不是必需。
-
@JohnColeman 当我写下“需要”这个词时,我实际上并没有想太多。我的主要问题实际上是解除分配实际上是否有助于释放内存空间,以便将来的数据可以存储在这些位置。
-
我只是在迂腐。自从我在 Fortran 中做过任何事情以来已经有好几年了,所以我不能说这个,但是如果我对 C 的经验是任何指导(通常将数组分配到存在的地方),那么能够确定的灵活性运行时动态大小是主要动机,而不是完成后释放内存的能力。后者主要作为一种支持技术很重要,因为它可以在不造成内存泄漏的情况下实现前者。
-
@JohnColeman :在我看来,他的问题很有意义,尽管这可能不是提出这个基本问题的好平台。恐怕精英社区不想多次了解初学者的问题,而这种“需要”的大惊小怪就是一个很好的例子。