【发布时间】:2014-03-03 18:12:15
【问题描述】:
声明变量时使用双冒号有区别吗?
real(8) :: a
real(8) b
这两者显然做同样的事情。这些除了风格有什么区别吗?
我知道我们可以如下初始化变量并添加属性
real(8), intent(in), parameter :: a = 4, b = 2
但除此之外,仅声明一个没有属性且不初始化的普通旧 real 或 integer 有什么区别吗?
另外,这与SAVE 属性有什么关系吗?不久前,我的一些代码出现了意外行为,我在调用之间保存了函数的结果,这迫使我在每次调用函数时都将变量显式设置为零,即使 SAVE 属性没有设置由我。
【问题讨论】:
-
我不建议直接使用
real(8)。使用命名常量并查看stackoverflow.com/questions/3170239/…