에서 I가 FORTRAN 77 코드의 일부를 변환하고 C++FORTRAN 동등한 C++ 언어
DIMENSION ARRAY(513),JRRAY(2,513)
EQUIVALENCE (ARRAY(1),JRRAY(1,1))
이 모든 변수 이름 I로 시작하는 암시 코드, J, K, L, M, N, O, P는 암시 적으로 정수 유형으로 간주됩니다. 따라서 여기에 ARRAY라는 배정 밀도 배열과 JRRAY라는 정수 배열이 있습니다.
등가 문장은 두 배열의 시작을 동일한 메모리 위치로 지정합니다. 그러나 여하튼, 바이트는 ARRAY (I)가 호출 될 때 double 또는 JRRAY (I, J)가 호출 될 때 정수로 해석됩니다 (적어도 그것이 어떻게되는지 생각합니다).
동일한 메모리 위치를 다른 유형으로 해석 할 수있는 C++과 비슷한 방법이 있습니까?
또는 FORTRAN의 EQUIVALENCE와 동일하지만 C++의 경우와 동일합니다.
포트란 배열은 열 순서대로 저장되므로'JRRAY (1, X)'와'JRRAY (2, X)'는'ARRAY (X)'의 연속 부분을 가리킨다는 것을 상기하십시오. –
표현의 실제 재 해석 또는 자동 변환을 의미합니까? 나는. 파이를'ARRAY'에 저장하고'JRRAY '에서 읽을 수 있다면'double'의 비트 패턴에 해당하는'3' 또는 숫자를 얻을 수 있을까요? – Quentin
@Quentin FORTRAN은 단순히 표현을 재 해석하므로 C++에서 수행하려는 것으로 추정됩니다. – Barmar