|
>Fortran の知識は全くないのですが、Val(b) というのが、もしかしたら
>b の値 ということで、テンポラリーに、メモリー域のどこかにセットされて、
>そのテンポラリー域を参照渡ししていたのではないでしょうか?
>VBAでも (a) とやると、a のクローンを(うけがわが byRef なら)参照渡ししているわけですので。
当時の私には、C言語プロジェクトの同僚から、Cは原則、値渡し と聞いていただけなので、内部の事など想像すらしませんでしたが、今 考えれば、そういうことなんでしょうねえ。
VBAで同じような環境でコードを書いてみれば、どちらがよいか結論がでそうなので
このような投稿をしましたが、
私の意見は、あくまでも 機能をもっている呼び出されるプロシジャーが
必要な引数の渡し方も決定するのがよい という意見です。
VBEは、便利なので
呼び出しを記述するときに 引数が 参照渡しか値渡しかわかるようになっていますしね!!
参照設定なしで 外部オブジェクトを使用するときに
安全のために値渡しでというなら 呼び出し時に (a) という使用方法は
分かる気がしますね!!
マニュアル調べろ と言われればそのとおりですが・・・・。
|
|