第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

VB6按值傳遞并按引用傳遞

VB6按值傳遞并按引用傳遞

我正在努力理解VB6中的按值傳遞和按引用傳遞。我在.NET和Java等面向?qū)ο蟮木幊陶Z言中完全理解了這些概念(我意識到Java并沒有通過引用傳遞)??聪旅娴拇a:Private Sub Form_Load()Dim Test As IntegerTest = 1TestFunction Test 'line 5MsgBox (Test)End SubPrivate Sub TestFunction(ByVal i As Integer)    i = i + 1End Sub當(dāng)我在第5行的Test上放置方括號時(shí),消息框?qū)次移谕哪菢哟蛴??,F(xiàn)在看看下面的代碼:Private Sub Form_Load()Dim Test As IntegerTest = 1TestFunction Test 'line 5MsgBox TestEnd SubPrivate Sub TestFunction(ByRef i As Integer)    i = i + 1End Sub消息框?qū)次移谕哪菢哟蛴?。但是,如果將括號添加到第5行,則消息框?qū)⒋蛴?,這是我所不希望的??雌饋恚词贡徽{(diào)用函數(shù)中定義的變量是ByRef,調(diào)用函數(shù)也可以按值傳遞。似乎反之亦然,例如,如果被調(diào)用函數(shù)的簽名帶有定義為ByVal的變量,則它將始終為ByVal(即使調(diào)用函數(shù)中變量周圍沒有括號)。VB6中這背后的想法是什么?我意識到這是VB6中的一個(gè)基本問題,但這使我感到困惑。我已經(jīng)閱讀了MSDN文檔,并且意識到這是真的,但是并沒有解釋其背后的原因。
查看完整描述

2 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

將任何表達(dá)式括在圓括號中會使該表達(dá)式首先執(zhí)行求值,然后再執(zhí)行其他操作,即使該表達(dá)式只是單個(gè)變量也是如此。在您的情況下,該表達(dá)式的結(jié)果將作為參數(shù)傳遞。

因此,實(shí)際上您是通過引用傳遞參數(shù)。但是,您傳遞的參數(shù)是表達(dá)式的結(jié)果,而不是原始變量。這就是為什么原始變量無法更新的原因。


查看完整回答
反對 回復(fù) 2019-10-22
  • 2 回答
  • 0 關(guān)注
  • 868 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號