小编use*_*884的帖子

C++语言中的FORTRAN EQUIVALENCE

我正在将FORTRAN 77代码的一部分转换为C++

DIMENSION ARRAY(513),JRRAY(2,513)
EQUIVALENCE (ARRAY(1),JRRAY(1,1))
Run Code Online (Sandbox Code Playgroud)

这是隐式代码,其中以I,J,K,L,M,N,O,P开头的每个变量名称被隐式地视为整数类型.因此,这里我们有一个名为ARRAY的双精度数组和一个名为JRRAY的整数数组.

等价语句将两个数组的开头指向相同的内存位置.然而,不知何故,当调用ARRAY(I)时,字节被不同地解释为double;当调用JRRAY(I,J)时,字节被解释为整数(至少这就是我认为会发生什么).

在C++中是否有类似的方式可以将相同的内存位置解释为不同的类型?

或者与FORTRAN中的EQUIVALENCE相同的东西,但是在C++中.

c++ fortran equivalence

2
推荐指数
1
解决办法
764
查看次数

标签 统计

c++ ×1

equivalence ×1

fortran ×1