我的工作让我使用基于 C++ 的 OpenFOAM(流体模拟材料)。我对 C++ 一无所知,甚至不知道如何编译一个 hello world 程序。在 OpenFOAM 中,您可以在文本文件中将三维数组作为 ascii 输出。这没关系,因为我的计算不需要很长时间。然后在文件中每行有一个值。这些值有什么顺序?
所以,在 Fortran 我可以做
WRITE(*,*) 3d_array
它将按照保存的顺序显示数组的值,这意味着第一次迭代是在 x 方向上,然后在 y 方向上,然后在 z 方向上。输出的顺序与我以这种方式输出的顺序相同:
integer, allocatable, dimension(x,y,z)::3d_array
[...]
do k=1,z
do j=1,y
do i=1,x
write(*,*) 3d_array(i,j,k)
end do
end do
end do
它在 C++ 中是如何工作的?