现在,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 |