【发布时间】:2012-07-24 07:55:10
【问题描述】:
我想调用一个需要整数数组的函数。每次我想调用函数时,如果不创建一个新的整数数组,我怎么能做到这一点?
这就是我想做的:
someFunction(new int[]{obj[0].getInt(), obj[1].getInt()});
而不是这样做:
int intArray[2] = {obj[0].getInt(), obj[1].getInt()};
someFunction(intArray);
【问题讨论】:
-
不,您确实不想要第一个示例。第二个有什么问题?
-
呃。什么?第一个示例在您每次要调用该函数时创建一个新数组。
-
第一个示例可能会造成内存泄漏。
-
第二种方式是惯用的 C++。不要试图把语言变成它不是的东西,尤其是为了节省一行代码。
-
@BobSmith 防止内存泄漏不仅仅是发送垃圾邮件
deletes 以首先对抗news 无故发送垃圾邮件。这不是 Java。
标签: c++ arrays argument-passing