Supponendo che si desideri un elenco di matrici, ognuna delle stesse dimensioni. E 'meglio prestazioni-saggio usare una matrice 2D:Utilizzo di array 2d vs matrice di tipo derivato in Fortran 90
integer, allocatable :: data(:,:)
o un array di tipi derivati:
type test
integer, allocatable :: content(:)
end type
type(test), allocatable :: data(:)
Naturalmente, per gli array di diverse dimensioni, non abbiamo una scelta. Ma come viene gestita la memoria tra i 2 casi? Inoltre, è una di queste buone pratiche di codice?
Considerare le funzionalità offerte dalle operazioni definite rispetto al commento sulla moltiplicazione e l'assegnazione agli array. – IanH
Abbastanza corretto, ma rimane vero che l'uso di array 2D incorporati ti dà quelli (a) più veloci (b) con probabilmente meno temporanei (es. D = a * b + c), (c) con affettatura in entrambe le dimensioni al stessa ora, tutto (d) gratuitamente. Avrà ancora più senso fare array di array in alcuni casi, ma se non hai bisogno di quella generalità in più, usare il caso più semplice probabilmente ha senso. –