請問一下指標的轉換.... |
尚未結案
|
蜻蜓草
一般會員 發表:22 回覆:30 積分:10 註冊:2002-03-18 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
很難看的懂你寫什麼
pointer -> string -> pointer ????
請把腦中的話說出來 "-> " 是 ??? "pointer 是動態建立元件的元件位址 等下我要free 掉
Tbutton(p).free" 以到底要做什麼 ?
有那麼難嗎 ? 用TList試試看 "如果不用位址的方式free再改很多程式碼的" 說話要加標點符號
如果不用,位址的方式free再改,很多程式碼的 ?
如果不用位址的方式,free再改很多,程式碼的 ?
如果,不用位址的方式free再改,很多程式碼的 ?
如果不用位址的,方式free再改,很多程式碼的 ? 發表人 - syntax 於 2003/10/04 08:40:07
|
蜻蜓草
一般會員 發表:22 回覆:30 積分:10 註冊:2002-03-18 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
你的意思是:將指標轉成文字來暫存,待物件用完要釋放時,再轉成指標以便 typecast 來釋放 如果是這樣,為何不能用 TList ? 難道轉來轉去的時間,會比直接由 TList 讀出更快?
str -> pointer -> str 轉換兩次(文字與數值的轉換,在速度上可是不快的)
TList.Items[Index] 直接讀取,只要一次動作
兩者在機器碼的長度上,前者較長喔!但是速度不會差很多就是 即使你的指標相當多,TList 與 String 所能處理的量應該是很相近的,再不然就用 hash + array 來實做,但是這樣就會要寫很多程式碼 再說指標不會轉來轉去後就不相干,一定是你在處理過程中有弄錯,指標不過是一個記憶體的位址,當該物件建立後,位址會一直一樣直到釋放,所以不會有不相干而對應不到,要注意 aPointer := aObject or aPointer := Pointer(aObject)
與
aPointer := @aObject 所傳回的指標是不一樣的,前者才可以用 aObjectClass(aPointer),後者要用aObjectClass(Pointer(aPointer^))
|
蜻蜓草
一般會員 發表:22 回覆:30 積分:10 註冊:2002-03-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |