プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっています。
私は普段あまりVBを使わないので、素人同然なのですが、たまたま
業務でVBを使う事になったのですが、一つ疑問に思う事があります。

オブジェクトを扱う際に Set ステートメントと言うものがありますが、
この Set ステートメントを付けた時と、付けなかった時で何が違うのでしょうか?

おそらく、メモリの利用方法が違うのかと思いますが、どなたか簡潔にお答え
頂けないでしょうか?
素人考えでは、普通に代入(Setステートメントを使わない)した場合は、
オブジェクトのリファレンスが渡り、Setステートメントを使用した場合は、
内容が渡るのかなぁ。。。
と、おぼろげに考えてはいるのですが。。。

よろしくお願い致します。

A 回答 (1件)

Setをつけなかった場合Letを付けたのと同じになります。



Setはメモリアドレスを変数にコピーするだけで、実際の内容はコピーされません。
そのため、この動作は4バイトのデータだけをコピーするだけなので、時間はかかりません。
ただし、あらたに代入された変数で内容を変更しようとすると、元のものも変更されてしまいます。

たいしてLetすると、メモリの内容をコピーします。
これは、オブジェクトの容量によって、極端にパフォーマンスが落ちることもあります。

mrt136さんが予想した逆でした。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
なるほど。。。
逆でしたか。。。そうしたら今までのソースを見直した方がいいかも知れませんね。。。
やばい事になっている可能性があるかも。。。
でも、これですっきりしました。
本当にありがとうございました。

お礼日時:2002/07/05 16:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています