gpt4 book ai didi

fortran - 将保存的/静态目标变量公开到外部范围

转载 作者:行者123 更新时间:2023-12-04 13:06:40 40 4
gpt4 key购买 nike

以下代码中的本地 saved 变量暴露给外部范围是否是有效的 Fortran(>=2003) 代码?

我故意没有为标准指定年份。如果不同标准的答案不同,假设支持指针,我也很乐意听到答案。

program test_save
implicit none

integer, pointer :: ptr

ptr => get_number(5)

write(*, *) ptr

contains

function get_number(n) result(res)
integer, intent(in) :: n
integer, pointer :: res
integer, target, save :: internal_n
internal_n = n
res => internal_n
end function
end program

最佳答案

要考虑的一点是,当函数退出时,res 的目标是否仍然定义(F2018 19.6.6p1(16))。由于目标具有 SAVE 属性,它确实保持定义状态 (F2018 19.6.6p1(3)),因此指针保持定义状态。

关于fortran - 将保存的/静态目标变量公开到外部范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69065251/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com