Re: [問題] pushFront()

看板EE_DSnP作者 (TAKUA)時間14年前 (2011/11/14 16:12), 編輯推噓8(809)
留言17則, 9人參與, 最新討論串2/3 (看更多)
※ 引述《Komemushisp (...)》之銘言: : 問一個蠢問題QQ : ----------------------- : 當delete掉memTestObj時,把它存進recycleList, : 應該會用到pushFront()這個function, : 我看投影片是要把_first改成傳進去的pointer, : 那之前的_first所指的位置要怎麼存呢 QQ ?? : 感謝回答!!! 那現在假設_first已經指到一個OBJ1,那PUSH一個OBJ2的意思是說: 讓_first指到OBJ2,然後把OBJ2的內容(想辦法)改成OBJ1的地址嗎? -- 春苑樹雪菜萌苗,雀兒喜上夏枝梢;藍眼望盡黃泉路,只盼儷人一美笑長巾初解投送抱,金珠麗葉賀新好;神代仙眷且羨嫉,長伴相隨誓到老。 靜馬千華留秋晚,冬風不止三鄉道;紅枝立約攜手情,今此空餘泣嚎啕。 姬宮千歌音悠悠,櫻井奏樂聲裊裊;奈何天令伊人變,飛離斯愛離斯去。 結城AIRA→ 悲慟獨泣無人應,白晝夢盡皆空語。 ←美鄉あき Kalafina→ 紅月旋響戚音樂,黯然步上鎮魂旅 ←飛 蘭 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.25.107

11/14 16:15, , 1F
是的,recycle list 基本上是 first-in-last-out
11/14 16:15, 1F

11/14 16:15, , 2F
不過精確地說,是把 OBJ2 的前 4/8 個 Bytes 的內容改成
11/14 16:15, 2F

11/14 16:16, , 3F
OBJ1 的地址。
11/14 16:16, 3F
謝謝教授。 不過爬文之後還是不懂可以怎麼把OBJ2的前XXX個byte改成OOO 我(自認為)已經會用謎一般的CAST方法把把OBJ2視為T*然後把OBJ1的地址寫進去 請問寫進去就是自動寫在前XXX個byte嗎?還是要另外指定"請寫在前XXX個byte"? ※ 編輯: takua624 來自: 140.112.25.107 (11/14 16:27)

11/14 16:45, , 4F
因為OBJ2本身也是指標指過去的,把他cast成T*後會從指
11/14 16:45, 4F

11/14 16:46, , 5F
過去的位置開始取size_t大小(指標的大小),所以一定是
11/14 16:46, 5F

11/14 16:46, , 6F
前幾位
11/14 16:46, 6F
嗯嗯,感謝啦~!所以就是不用另外指定了,很好 ※ 編輯: takua624 來自: 140.112.25.107 (11/14 17:21)

11/14 17:41, , 7F
可以問一下要怎麼cast嗎 @@?
11/14 17:41, 7F

11/14 21:39, , 8F
有一種謎一般的CAST方式叫做reinterpret_cast
11/14 21:39, 8F

11/14 21:39, , 9F
用法請去股溝(GOOGLE,請別誤會)找找
11/14 21:39, 9F

11/14 22:21, , 10F
我都用(T*),聽說這種方法好像不太好......
11/14 22:21, 10F

11/14 22:47, , 11F
真的喔,我都用樓上那種方法耶,會怎樣不好嗎
11/14 22:47, 11F

11/14 23:06, , 12F
同樓上...之前用了 reinterpret_cast 覺得打起來太長了
11/14 23:06, 12F

11/14 23:20, , 13F
我也是用reinterpret_cast...
11/14 23:20, 13F

11/24 11:11, , 15F
看起來(T*)跟re_cast是一樣的,反正後續還想呼叫member
11/24 11:11, 15F

11/24 11:12, , 16F
都會出事
11/24 11:12, 16F

11/24 11:17, , 17F
但(T*)好像不保證轉換之後值會一樣
11/24 11:17, 17F
文章代碼(AID): #1EmCrlDx (EE_DSnP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1EmCrlDx (EE_DSnP)