gpt4 book ai didi

c++ - Fortran 中的指针与 C/C++ 中的指针究竟有何不同?

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:50 24 4
gpt4 key购买 nike

让 C/C++ 程序员和 Fortran 程序员比较和对比这两种语言中的指针可能会很有用。

在试图向 C/C++ 程序员解释 Fortran 指针有何不同时,我通常会说指向函数或子例程的指针不存在。然后我尝试提出 Fortran 指针更“高级”的论点,但细节很模糊。

具体有什么区别?

最佳答案

正如 Mark 所说,Fortran 中确实存在指向函数和子例程的指针。不同之处在于:

  • 在 C 中,指针只是一个地址,而在 Fortran 中,指针可以包含其他信息,例如数组边界和步幅,这就是为什么在声明指针伪参数时需要显式接口(interface)的原因
  • 在 C 中,您必须显式取消引用指针,而在 Fortran 中取消引用是自动的(除非在需要指针的上下文中)
  • 在 C 中,没有关于别名的假设,而在 Fortran 中,您只允许指向具有 TARGET 属性的事物

关于c++ - Fortran 中的指针与 C/C++ 中的指针究竟有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30858324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com