Module 在什么情况下,您会使用;模块程序“;在创建单独的模块过程时是否在子模块中?
我理解Fortran 2008+中子模块的一般好处,但我很难理解其中一个语法选项的好处 如果我想创建单独的模块过程(过程主体位于子模块中),我需要在父模块中创建一个接口。该接口必须包含子例程或函数标识符以及参数列表和意图。这一切都是有道理的 然后子模块包含过程的实现,但是有一个语法选择:我可以重复子例程或函数的签名,或者,我可以简单地在“模块过程”之后使用接口中的名称。我本来打算键入一个示例,但示例完美地显示了它Module 在什么情况下,您会使用;模块程序“;在创建单独的模块过程时是否在子模块中?,module,fortran,fortran2008,fortran2018,Module,Fortran,Fortran2008,Fortran2018,我理解Fortran 2008+中子模块的一般好处,但我很难理解其中一个语法选项的好处 如果我想创建单独的模块过程(过程主体位于子模块中),我需要在父模块中创建一个接口。该接口必须包含子例程或函数标识符以及参数列表和意图。这一切都是有道理的 然后子模块包含过程的实现,但是有一个语法选择:我可以重复子例程或函数的签名,或者,我可以简单地在“模块过程”之后使用接口中的名称。我本来打算键入一个示例,但示例完美地显示了它 我的问题是:使用“模块过程”而不是“模块函数”或“模块子例程”的替代语法的好处是什
我的问题是:使用“模块过程”而不是“模块函数”或“模块子例程”的替代语法的好处是什么,即在子模块文件中不重复过程类型、参数和意图?这似乎使代码维护变得复杂,因为现在需要打开两个文件才能理解子例程或函数。我是否错过了一些隐藏的好处(除了保存拷贝/粘贴) 在代码生命周期的后期会有好处。如果必须更改函数的签名,则只需在一个位置进行更改。我想我很难想象在不更改子例程本身的情况下更改签名的情况。我正在编写一个有人使用这种语法的代码,当我必须打开两个文件才能看到子程序和参数时,弄清楚发生了什么真的很痛苦。我明白你的意思,我相信这主要是偏好的问题。C和C++在头文件和实现文件之间的分割有相同的问题。我个人觉得要做两次同样的改变非常烦人。