Oracle Solaris Studio 12.2:Fortran 用户指南

4.6.12 Fortran 2003 POINTER INTENT 功能

现在,Fortran 编译器支持 POINTER 哑元参数的 INTENT 属性:可以为指针 dummy 指定 INTENT(IN)、INTENT(OUT)INTENT(INOUT)

例如,


subroutine sub(P)
integer, pointer, intent(in) :: p
...

end

指针的 INTENT 属性应用于指针,而非指针所指向的元素,因此对于 INTENT(IN) 指针,以下语句是非法的,因为这些语句将修改指针:


 p => t
 allocate(p)
 deallocate(p)

但以下语句对于 INTENT(IN) 指针是合法的,因为它修改指针所指向的元素:


 p = 400