Лучший способ передать тип в современном фортране - types


0

Я пытаюсь выяснить, какой лучший способ передать тип фортрана в подпрограмму. Производный тип может содержать много массивов и быть в принципе не "маленьким".

Моя цель - передать этот большой кусок данных наилучшим образом. Может ли кто-нибудь из вас сказать мне наилучшую практику при работе с большими типами и, в частности, какой из них лучший способ передать их через подпрограмму?

Вот два простых примера:

Метод 1:

subrotuine pass_me(a)

type(myType) :: a

end subroutine pass_me

Метод 2:

subrotuine pass_me(a)

type(myType), intent(IN) :: a

end subroutine pass_me

Я четко понимаю, что если мне нужно выполнить какую-то операцию с типом "а", то я должен использовать первый, но что, если мне нужен тип "а" как "inout"? Есть ли другой эффективный способ выполнить эту операцию прохода?

Большое спасибо!

  •  74
  •  0
  • 11 май 2020 2020-05-11 10:17:31

Ответов пока нет