看板 C_and_CPP 關於我們 聯絡資訊
請問如何將黃色部分的程式碼合併成紅色部分? double add(double input[2]) { return input[0]+input[1]; } ... 略 呼叫函式 add double ans = add(new double[2]{1.5,2.5}); ////////////////////// 印象中有看過把 double input[2]={1.5,2.5}; double ans = add(input); 兩行合併成一行的寫法,但卻一直想不起來。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.15.128.112 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1436360316.A.FD5.html ※ 編輯: noodleT (39.15.128.112), 07/08/2015 20:59:08
Dforce: 我只想問 紅色的寫法不會造成memory leak嗎? 07/08 21:09
Dforce: 在add 裡面delete [] 又怪怪的 07/08 21:09
noodleT: 這我不能確定,只是印象中有看過 07/08 21:17
Feis: http://ideone.com/zBeWsm 07/08 21:19
noodleT: 似乎沒用到這樣 07/08 21:29
s25g5d4: 你需要 C++11 07/08 21:41
Feis: 如果就是要這樣的話就是同樓上.. 07/08 21:44
suhorng: 所以你想要 new 一個東西出來, 存到某處(以後可能繼續用) 07/08 22:07
suhorng: 然後再呼叫 add? 07/08 22:07
kevingwn: double add(double const (&input)[2]); 07/08 22:20
kevingwn: double ans = add({1.5,2.5}); 07/08 22:21
noodleT: 印象中有 new 這關鍵字,但還是謝謝大家提供不同的方法 07/09 00:15
linotwo: 紅字的寫法跟 Java 有三分像 07/09 04:20
linotwo: 一般來說 C++ 的 new 跟 delete 會成對出現 07/09 04:23
linotwo: 並且寫出 new 的人要負責寫 delete 07/09 04:25