【发布时间】:2010-07-28 12:21:19
【问题描述】:
在 fortran 95 中,如果在声明时分配变量
integer :: var = 0
相当于
integer, save :: var = 0
因此变量在例程执行后被保留(相当于C语言中的static)并且在再次调用时不会重新初始化。这种(恕我直言危险)行为背后的基本原理/技术问题是什么?
【问题讨论】:
-
为了完整起见,让我提一下,在 Fortran 2003 标准中,您提到的这一点在 C1107 中有所介绍:“如果出现指定了组件初始化 (R444) 的类型的对象在模块的规范部分并且没有 ALLOCATABLE 或 POINTER 属性,该对象应具有 SAVE 属性。"。
-
@Alexandros Gezerlis - 对,但他在问“为什么”他们这样做,现在我理解了他的问题,我也有同样的问题:)。
-
我知道,这就是为什么我没有发布这个作为答案。
标签: fortran