Jaka jest wyraźna różnica między zamiarami fortran (in, out, inout)?

Po chwili szukania w książkach, tutaj na stackoverflow i ogólnie w Internecie, odkryłem, że trudno jest znaleźć proste wyjaśnienie rzeczywistych różnic między intencjami argumentów fortran. Sposób, w jaki to zrozumiałem, jest następujący:

intent(in) - Rzeczywisty argument jest kopiowany do fikcyjnego argumentu przy wpisie.intent(out) - Fikcyjny argument wskazuje na rzeczywisty argument (oba wskazują na to samo miejsce w pamięci).intent(inout) - fałszywy argument jest tworzony lokalnie, a następnie kopiowany do rzeczywistego argumentu po zakończeniu procedury.

Jeśli moje zrozumienie jest poprawne, to chcę również wiedzieć, dlaczego ktoś zawsze chce korzystaćintent(out), ponieważintent(inout) wymaga mniej pracy (bez kopiowania danych).

questionAnswers(3)

yourAnswerToTheQuestion