В чем явная разница между намерениями Фортрана (in, out, inout)?

После некоторого поиска в книгах, здесь, в stackoverflow и в общей сети, я обнаружил, что трудно найти прямое объяснение реальных различий между намерениями аргумента fortran. Я понял это так:

intent(in) -- The actual argument is copied to the dummy argument at entry. intent(out) -- The dummy argument points to the actual argument (they both point to the same place in memory). intent(inout) -- the dummy argument is created locally, and then copied to the actual argument when the procedure is finished.

Если мое понимание верно, то я также хочу знать, почему кто-то хочет использоватьintent(out), так какintent(inout) требует меньше работы (без копирования данных).

Ответы на вопрос(3)

Ваш ответ на вопрос