Was ist der explizite Unterschied zwischen den fortran-Absichten (in, out, inout)?

Nachdem ich eine Weile in Büchern gesucht hatte, hier über Stackoverflow und im allgemeinen Web, stellte ich fest, dass es schwierig ist, eine eindeutige Erklärung für die tatsächlichen Unterschiede zwischen den Absichten der fortran-Argumente zu finden. Ich habe es folgendermaßen verstanden:

intent(in) - Das aktuelle Argument wird bei der Eingabe in das Dummy-Argument kopiert.intent(out) - Das Dummy-Argument zeigt auf das eigentliche Argument (beide zeigen auf dieselbe Stelle im Speicher).intent(inout) - Das Dummy-Argument wird lokal erstellt und nach Abschluss der Prozedur in das eigentliche Argument kopiert.

Wenn mein Verständnis stimmt, dann möchte ich auch wissen, warum man das überhaupt nutzen willintent(out), seit derintent(inout) erfordert weniger Arbeit (kein Kopieren von Daten).

Antworten auf die Frage(3)

Ihre Antwort auf die Frage