Fortran参数传递机制深度解析
1. 可选哑元参数的使用
可选哑元参数在未出现时,有一些常见的使用方式。它可以作为对应可选哑元参数的实际参数,也能作为某些内在函数的实际参数,具体依据相关规则的例外情况而定。
若一个过程有可选参数,那么在引用该过程的任何作用域单元中,该过程的接口必须是显式的。这一要求与实际参数列表中是否省略参数无关。因为可选参数可能需要特定的处理方式,显式接口能提供控制这种特殊处理所需的信息。
2. 类型和类型参数
哑元数据参数和其他数据对象一样,有类型和一组(可能为空)类型参数。对应哑元数据参数的实际参数必须是数据实体,且实际参数和哑元参数的类型及类型参数需满足以下要求:
- 类型兼容性 :可分为四种情况:
- 最简单且最常见的情况是,哑元和实际参数都是非多态的,此时它们必须是相同类型。
- 对于非多态的哑元参数和多态的实际参数,实际参数的声明类型必须与哑元参数的类型相同,实际参数的动态类型可以是哑元参数类型的扩展,此时哑元参数主要作用于实际参数的非扩展部分。
- 对于有限多态的哑元参数,实际参数的声明类型必须与哑元参数的声明类型相同或为其扩展,以确保实际参数的动态类型是哑元参数允许的动态类型之一。
- 对于无限多态的哑元参数,实际参数可以是任何类型。
- 指针或可分配参数 :若哑元参数是指针或可分配的,对类型和类型参数一致性的要求更为严格。实际参数的声明类型必须与哑元参数的声明类型相同,且实际参数必须是多态的,当且仅当哑元参数是多态的。
- 类型参数值
超级会员免费看
订阅专栏 解锁全文
4291

被折叠的 条评论
为什么被折叠?



