gpt4 book ai didi

带有 'new' 数组参数的 C++ 函数调用

转载 作者:行者123 更新时间:2023-11-30 02:03:37 24 4
gpt4 key购买 nike

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

这就是我想要做的:

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

而不是这样做:

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

最佳答案

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

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

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

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

关于带有 'new' 数组参数的 C++ 函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11657275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com