[问题] function 传指标

楼主: noodleT (面T)   2015-07-08 20:58:34
请问如何将黄色部分的程式码合并成红色部分?
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);
两行合并成一行的写法,但却一直想不起来。
作者: Dforce (VF-17)   2015-07-08 21:09:00
我只想问 红色的写法不会造成memory leak吗?在add 里面delete [] 又怪怪的
楼主: noodleT (面T)   2015-07-08 21:17:00
这我不能确定,只是印象中有看过
作者: Feis (永远睡不着 @@)   2015-07-08 21:19:00
楼主: noodleT (面T)   2015-07-08 21:29:00
似乎没用到这样
作者: s25g5d4 (function(){})()   2015-07-08 21:41:00
你需要 C++11
作者: Feis (永远睡不着 @@)   2015-07-08 21:44:00
如果就是要这样的话就是同楼上..
作者: suhorng ( )   2015-07-08 22:07:00
所以你想要 new 一个东西出来, 存到某处(以后可能继续用)然后再呼叫 add?
作者: kevingwn (如云如风的人生)   2015-07-08 22:20:00
double add(double const (&input)[2]);double ans = add({1.5,2.5});
楼主: noodleT (面T)   2015-07-09 00:15:00
印象中有 new 这关键字,但还是谢谢大家提供不同的方法
作者: linotwo (._.)   2015-07-09 04:20:00
红字的写法跟 Java 有三分像一般来说 C++ 的 new 跟 delete 会成对出现并且写出 new 的人要负责写 delete

Links booklink

Contact Us: admin [ a t ] ucptt.com