Fortran 中是否应该避免使用名单,如果是这样,推荐的替代方法是什么?

Adr*_*ins 6 fortran fortran90 fortran95

我经常使用名称列表功能将参数列表灵活输入到 FORTRAN 程序,但前几天在搜索以提醒自己使用它们时,我遇到了以下语句

它(f77 的名单语言扩展)现已包含在 Fortran 90 语言中。但是,NAMELIST 是一个设计不佳的功能,应尽可能避免使用。

我只是想知道

  1. 如果这是普遍持有的观点?
  2. 如果是,为什么会这样?
  3. 建议的参数输入替代方案是什么?(我当然使用 netcdf 进行网格数据文件输入,我在这里考虑的是运行时参数设置)。

Kin*_*ing 3

Metcalf 等人的经典著作《现代 Fortran 解释》中没有提及名单效率低下和糟糕的设计。https://books.google.com/books?id=V7UVDAAAQBAJ&lpg=PP1&pg=PA197#v=onepage&q=namelist%20I/O&f=false 相反,我相信名单 - 特别是在 Fortran 2003 和 2008 中添加的增强功能-- 是非常有用且灵活的数据 I/O 方法。