良い習慣は、Fortranのサブルーチン引数がそれぞれ指定された意図を持っているべきであることを指示します(すなわちintent(in)
、intent(out)
またはこの質問intent(inout)
で説明されているように):
subroutine bar (a, b)
real, intent(in) :: a
real, intent(inout) :: b
b = b + a
...
ただし、インテントを指定しないことは有効なFortranです。
subroutine bar (a, b)
real, intent(in) :: a
real :: b
b = b + a
...
intent(inout)
として指定された引数と指定された意図のない引数のコンパイル時チェック以外に実際の違いはありますか?インテントを古いインテントフリーのコードに後付けする場合、心配すべきことはありますか?