Qual é a diferença explícita entre as intenções de fortran (in, out, inout)?

Depois de procurar por um tempo em livros, aqui no stackoverflow e na web geral, descobri que é difícil encontrar uma explicação direta para as diferenças reais entre as intenções do argumento fortran. A maneira como eu entendi isso é:

intent(in) - O argumento atual é copiado para o argumento fictício na entrada.intent(out) - O argumento fictício aponta para o argumento atual (ambos apontam para o mesmo lugar na memória).intent(inout) - o argumento fictício é criado localmente e depois copiado para o argumento real quando o procedimento é concluído.

Se o meu entendimento está correto, então eu também quero saber por que alguém quer usarintent(out), desde ointent(inout) requer menos trabalho (sem cópia de dados).

questionAnswers(3)

yourAnswerToTheQuestion