49、Fortran参数传递机制深度解析

Fortran参数传递机制深度解析

1. 可选哑元参数的使用

可选哑元参数在未出现时,有一些常见的使用方式。它可以作为对应可选哑元参数的实际参数,也能作为某些内在函数的实际参数,具体依据相关规则的例外情况而定。

若一个过程有可选参数,那么在引用该过程的任何作用域单元中,该过程的接口必须是显式的。这一要求与实际参数列表中是否省略参数无关。因为可选参数可能需要特定的处理方式,显式接口能提供控制这种特殊处理所需的信息。

2. 类型和类型参数

哑元数据参数和其他数据对象一样,有类型和一组(可能为空)类型参数。对应哑元数据参数的实际参数必须是数据实体,且实际参数和哑元参数的类型及类型参数需满足以下要求:
- 类型兼容性 :可分为四种情况:
- 最简单且最常见的情况是,哑元和实际参数都是非多态的,此时它们必须是相同类型。
- 对于非多态的哑元参数和多态的实际参数,实际参数的声明类型必须与哑元参数的类型相同,实际参数的动态类型可以是哑元参数类型的扩展,此时哑元参数主要作用于实际参数的非扩展部分。
- 对于有限多态的哑元参数,实际参数的声明类型必须与哑元参数的声明类型相同或为其扩展,以确保实际参数的动态类型是哑元参数允许的动态类型之一。
- 对于无限多态的哑元参数,实际参数可以是任何类型。
- 指针或可分配参数 :若哑元参数是指针或可分配的,对类型和类型参数一致性的要求更为严格。实际参数的声明类型必须与哑元参数的声明类型相同,且实际参数必须是多态的,当且仅当哑元参数是多态的。
- 类型参数值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值