Fortran Coder

查看: 2814|回复: 12
打印 上一主题 下一主题

[指针] allocatable和pointer区别

[复制链接]

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
楼主
发表于 2023-5-10 22:45:17 | 显示全部楼层
type(Subblocks), allocatable :: Subblocks(:)
这里Subblocks重名了,其他没问题。

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
沙发
发表于 2023-5-11 11:03:06 | 显示全部楼层
caimaxwell 发表于 2023-5-11 10:59
这地方的重名会有影响吗?我的原意是写一个iblocks(i)%subblocks(j)%nr(a1:b1,a2:b2)。我需要修改一下嘛 ...

编译可以通过,但是容易混乱。例如 fortran允许定义一个变量 叫 real,但没人这么干。

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
板凳
发表于 2023-5-11 11:07:32 | 显示全部楼层
caimaxwell 发表于 2023-5-11 11:02
谢谢前辈的回答,但是我还有疑问,能够自动释放的话,那deallocate是干啥的? ...

deallocate可以释放动态数组或指针。动态数组自动释放只发生在退出作用域时,当然一般会手写deallocate,更规范,更方便阅读。如果中途需要释放或重新分配,只能手动。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-7 12:33

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表