[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 1577] Re: ポインタの定義



小薮です。補足を。

On Wed, 07 Mar 2001 22:11:31 +0900
in [jfriends-ml 1572] Re: ポインタの定義
小薮隆史 <koyabu@xxxxxxxxxxxxxxxxxxxx> wrote:

> JavaHouse-Brewersでは「参照の値渡し」なんて表現が
> されてた覚えがあります。

単に値渡しと言い切るのも確かにナニではあるなと思っていたのですが、
JHBの過去メールでcall by shareなどという言い方も紹介されていました。

それはそれとして、参照を参照渡しする例があればなー、
と思っていたのですが、ありましたよ。
それは何とVisual Basicです。
# VB.NETではなくVB6です

以下のプログラムを実行すると、Command1のクリックで
「I am Text1.」が、Command2のクリックで「I am Text2.」が
表示されます。

C++はちゃんと理解していないのですが、参照の参照渡しは
できるのでしょうか?

−−−−−−−−−−−−−−−−−

Private Sub Form_Load()
    Text1.Text = "I am Text1."
    Text2.Text = "I am Text2."
End Sub

Private Sub Command1_Click()
    Dim aReference As Object
    
    Set aReference = Text1
    testByVal aReference
    MsgBox aReference.Text
End Sub

Private Sub Command2_Click()
    Dim aReference As Object
    
    Set aReference = Text1
    testByRef aReference
    MsgBox aReference.Text
End Sub

Private Sub testByVal(ByVal r As Object)
    Set r = Text2
End Sub

Private Sub testByRef(ByRef r As Object)
    Set r = Text2
End Sub




-----------------------------------
koyabu@xxxxxxxxxxxxxxxxx