看板 C_and_CPP 關於我們 聯絡資訊
compiler 大概會轉成這樣: void fun(String *s) { String str="abc"; *s = str; } void main() { String strM; fun(&strM); } 有點像 return value optimization 補充了一篇 blog http://goo.gl/HTYNaj ※ 引述《ducksky (鴨舞九天)》之銘言: : String fun() : { : String str="abc"; : return str; : } : main : { : String strM=fun(); : } : 請問上面的作法為何可行? : 在fun()內的str不是區域變數嗎? : 生命週期應該再函式結束就消失不是嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.98.177.194 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1466420322.A.98D.html
testPtt: 不會幫你轉這個 會用call mov ret去湊 06/20 19:52
Sex5F: 我也不會...跪求大師...都是compiler-> printf ->修改 06/21 00:00
suhorng: 這樣轉好怪.. 06/22 17:39
※ 編輯: descent (175.98.177.130), 06/23/2016 19:47:25