看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《saininniang (莎里奈)》之銘言: 如果你有語法上的疑惑, 建議您可以直接參考 MSND 上的說明, 會更明確.. 雖然 VB6 之前的文件已經找不到了, 不過也可以參考 VBScript 的文件, 和 VB6 時的語法其實大同小異 Set Statement http://msdn.microsoft.com/en-us/library/4afksd44(VS.85).aspx = 與 Set 的不同在, = 只是單純的 value 的 assign/copy, (其實你這篇的第一個推文者就點出重點了..) 就像 a = 10 b = a 在記憶體中, a 和 b 會有自己的一塊空間, ┌────┐ a│ ???? │ <-- a和b在記憶體中的示意圖 ├────┤ b│ ???? │ (初始時的內容是未知的) └────┘ ┌────┐ a│ 10 │ <-- 把 10 copy進 a ├────┤ b│ ???? │ └────┘ ┌────┐ a│ 10 │ ├────┤ b│ 10 │ <-- 把 a 的內容 copy 一份到 b └────┘ 但 Set 跟 =, 也就是 "assign" 是不一樣的東西. 他並不是 copy 一份 object , 而是要 refer(參考、指向、關連等等) 一個ojbect Set Obj = CreateObject(....) ┌────┐ Obj│ ‧─┼─┐ ├────┤ │ ............ │ ├────┤ │ │ │←┘ <-- 指向某個 CreateObject() 所建立的object └────┘ 好幾個 var 是可以同時 refer 同一個object的, 所以可以 Set Obj2 = Obj ' 也是要用 Set 如果你改變Obj2, 那Obj也會觀察到相同的變化.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.0.79
saininniang:Oh my god 我買的書都沒寫這個 07/25 03:22
yauhh:很多書即使寫了這個,這個段落也比較沒人看啊,這就是軟體界 07/25 08:26
yauhh:急就章的態度 07/25 08:27
phterry:推,圖文並茂 07/25 13:55
timmy5519:推推推 有看有推 07/25 14:38
fumizuki:這個圖做的真好 簡直跟書上的圖一模一樣XD 07/25 20:54
horngsh: 類似C的指標變數是嗎? 07/26 11:56
fumizuki:一樣是參考到某個記憶體位址 但不能直接存取記憶體 07/26 19:11
fumizuki:到是可透過copymemory存取 07/26 19:12
cole945:沒有到"指標"那麼嚴重啦, 就跟C#/Java都有的reference一樣 07/26 23:10