例如:
module m_a
private
integer :: x, y
public :: x
end module m_a
module m_b
public
integer :: x, y
private :: y
end module m_b
显然变量
x
和 y
在模块 m_a
中具有等效范围和 m_b
.我的问题是,从编程风格的角度来看,哪个更受欢迎?在 Fortran 90/95 的大多数教程中,模块样式
m_a
被采纳。然而,对于一个包含数百个模块的复杂层次结构的大型项目,我注意到 sytle m_a
的编译时间明显更长。比样式m_b
.我还没有找到讨论过的类似主题。可能我用错了
public/private
模块层次结构中的语句?有什么建议么?
最佳答案
样式 m_a 是首选,默认设置为私有(private),并且项目显式声明为公共(public)。使用这种方法,程序员可以很容易地识别模块导出(公共(public))哪些项目。使用另一种方法,这些信息很难弄清楚。帮助程序员理解模块比编译时间更重要。
关于scope - 在 Fortran 中使用公共(public)/私有(private)语句的首选样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16147606/