Fortran 的备用返回功能与协程和生成器相比如何?



Fortran 的备用返回功能与协程和生成器相比如何?

英特尔® Fortran 编译器 19.0 开发人员指南和参考备用返回参数:

备用返回(虚拟(参数可以出现在子例程参数中 列表。它们导致执行转移到标记的语句,而不是 而不是紧跟在调用的语句之后的语句 例行公事。

维基百科关于生成器的协程部分:

生成器(也称为半协程(是协程的子集。具体来说,虽然两者都可以多次产生,暂停执行并允许在多个入口点重新进入,但它们在协程控制在屈服后立即继续执行的能力不同,而生成器不能

备用返回只是允许例程返回其他位置,而不是在调用后立即返回。没有"暂停执行并允许重新进入"的能力。您可以将备用返回视为调用后的计算 GOTO,该调用根据例程执行的操作分支到多个标签之一。

替代返回和计算的 GOTO 在当前的 Fortran 标准中被认为是"过时的",不应在新代码中使用。

最新更新