子例程

时间:2015-08-19 09:47:33

标签: fortran

我试图弄清楚以下变量定义(即子程序/功能界面)之间的区别(如果有的话)

CALL example(RealVar)

在一种情况下子例程中虚拟变量的定义是:

SUBROUTINE example(var)
   REAL(wp), INTENT(<IN/OUT/INOUT>) :: var(0:n)
   ...

在另一个案例中:

SUBROUTINE example(var)
   REAL(wp), INTENT(<IN/OUT/INOUT>), DIMENSION(0:n) :: var
   ...
  1. 定义之间有什么区别吗?
  2. 编译器会以不同的方式对待它吗?
  3. 这只是一个向后兼容的东西吗?

1 个答案:

答案 0 :(得分:2)

1)有什么区别吗?否

2)编译器会以不同方式对待它吗?几乎肯定不是

3)向后兼容性?有点但不是真的!

我个人更喜欢第二种形式,但它纯粹是风格,

伊恩