Fortran数字类

时间:2015-04-10 20:52:24

标签: class fortran

在fortran中,我可以在子程序中使用Class(*)并使用

Select Type (ir)
Type Is (Integer (Int8)) 
Type Is (Integer (Int16)) 
End Select

有没有办法传递数值而不是使用Class (*),例如使用Class (Integer)或类似的东西。

1 个答案:

答案 0 :(得分:0)

内在类型不是扩展类型,它们没有共同的祖先,没有类似的存在。您可以使用无限多态(class(*)),或者必须指明确切的类型和种类(real(dp))。您也可以在Fortran 2008中编写type(real),但这不会改变任何内容,它只是一种不同的语法。

查看一些常用的通用编程技术,例如How to make some generic programming in fortran 90/95 working with intrinsic typesSTL analogue in Fortran等。您通常会为每种类型制作单独的过程,并从包含文件中粘贴代码主体。