4

我了解 Fortran 2008+ 中子模块的一般好处,但我无法理解其中一种语法选项的好处。

如果我想创建单独的模块过程(过程主体在子模块中),我需要在父模块中创建一个接口。该接口必须包含子例程或函数标识符以及参数列表和意图。这一切都说得通。

然后子模块包含过程的实现,但是可以选择语法:我可以重复子例程或函数的签名,或者,我可以简单地使用“模块过程”之后的接口名称。我打算打出一个例子,但fortran wiki完美地显示了它。

我的问题是:使用“模块过程”而不是“模块函数”或“模块子例程”的替代语法有什么好处,即过程类型、参数和意图在子模块文件中重复?似乎这只会使代码维护复杂化,因为现在需要打开两个文件才能理解子例程或函数。我是否在这里遗漏了一些隐藏的好处(除了保存副本/粘贴)?

4

1 回答 1

2

The benefit comes later in the life of the code. If you have to change the function's signature, you only have to change it in one location.

于 2020-05-29T14:56:35.930 回答