1

我想调用一个需要整数数组的函数。每次我想调用函数时,如果不创建一个新的整数数组,我怎么能做到这一点?

这就是我想要做的:

someFunction(new int[]{obj[0].getInt(), obj[1].getInt()});

而不是这样做:

int intArray[2] = {obj[0].getInt(), obj[1].getInt()};    
someFunction(intArray);
4

1 回答 1

4

假设您可以使用 C++11,您可以定义somefunction采用std::vector(或 a std::vector const &) 而不是实际数组,然后使用:

somefunction({obj[0].getInt(), obj[1].getInt()});

与 Java 不同,您不需要newC++ 中定期使用。事实上,在大多数编写良好的代码中,这是相当不寻常的。

顺便说一句,您通常希望避免使用 C++ 的内置数组,而 C++11 使这样做更容易,以至于根本没有充分的理由使用它们。

于 2012-07-25T20:06:44.940 回答