| 4.2.2 PURE 属性 |
为保证一个纯函数只返回一个值,没有副作用,不修改全局数据,数据映射,指针连接或 不进行I/O操作。纯子程序可以修改INTENT(OUT)或INTENT(INOUT)参数。如果一个过程用 于mask表达式或FORALL语句的body或FORALL结构的body中,以及在一个纯函数体中使用, 或在一个纯函数引用中作为一个实际参数,那么必须是纯的。对于一个纯函数的定义,有 一些语法限制,和上面的限制一样。为了解释,我们考虑
PURE REAL FUNCTION vol(h,w,d)
REAL h,w,d
INTENT(IN) :: h,w,d
vol = h*w*d
END FUNCTION vol
注意这个程序后来用于语句
FORALL ( i=1:n) 牋v(i,:)牋 = 牋爒ol(� h(爄�),爓(爄�),燿(爄�) )
在对vol的接口是显式(例如, 对于vol有一个接口块)
| Copyright: NPACT |