Re: [請益] 指標的問題

看板Programming作者 (唯讀)時間16年前 (2007/12/07 05:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/8 (看更多)
※ 引述《StubbornLin (Victor)》之銘言: : 不會 : 它只會去找出那個位置的那塊記憶體 : 把東西放進去 : 講難聽一點XD : 如果個指標的位置不是你配置的記憶體 : 是亂七八糟的數字,這就有點像強暴一樣 : 你硬是把資料塞到指向的那塊空間 : 而指標沒有初始化,或是指標是亂七八糟的數字 : 程式通常會當掉 : 因為你違規存取記憶體 : 你想放東西進去,那個指標指向的位置必須是有效的 : 它只會乖乖的照做,放東西進去 : 不會幫你allocate一塊記憶體出來給你 : 至於需不需要free or delete,就要看那個指標是不是malloc或是new出來的 : 是的話才需要,如果只是指向區域變數的指標就不用 有點好奇要怎確定指標的位置是有效的? void f( object * p ) { object o; * p = o; } object * p = new object; //alloc memory f( p ); // 讓 f 蓋過去 不過如果是只能看到function prototype,例如用別人的library, void f( object * p ); object * p; f( p ); 一般人應該會這樣寫,這不就危險了? 只是有點好奇,這樣的寫法要用在什麼情況? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.64.118.175
文章代碼(AID): #17M6QSJc (Programming)
討論串 (同標題文章)
文章代碼(AID): #17M6QSJc (Programming)