非常に大きな配列があるとしましょうverybigvariable
そして、私はこのようないくつかの操作を行う関数を定義しました
function myfunc(var) result(res)
real:: var(:,:,:),res
...
...
...
end function myfunc
私の質問は、この関数をこのように呼び出すと
myvar=myfunc(verybigvariable)
何が起こるのですか?関数の実行中にRAMに2Xのスペースを保持するように、変数を複製しますか?もしそうなら、どうすればこれを防ぐことができますか?(単純なプログラムでは、パラメーターなしで関数を定義し、既存の変数を使用させることができますが、モジュールをプログラミングしている場合は、定義にパラメーターを含める必要があるようです)