gpt4 book ai didi

C++:返回多个新数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:27:45 25 4
gpt4 key购买 nike

我认为这是一个简单的问题,但它让我发疯:我想从一个方法返回多个数组,调用方法事先不知道它们的大小。所以我必须在方法内创建这些数组(与仅填充它们相反)并且我无法使用 return 返回它们。

所以我想要的是这样的方法签名:

void giveMeArray(int[] *anArray)

方法签名只有一个参数来简化示例,请假设我也可以有这样的签名

void giveMeArrays(int[] *anArray, float[] *anotherArray)

在那个方法 giveMeArray 中,我将构造数组

*anArray = new int[5];

我会调用该方法使用

int[] result;
giveMeArray(&result);

但是,所有这些(从方法签名开始)至少在语法上是错误的。请原谅我现在手头没有编译器错误,我很确定你们中的一些人会知道出了什么问题。

编辑知道 std::vector 将是最好的(意思是最干净的)方法。然而,伙计们,这不是问题所在。

最佳答案

返回一个vector(毕竟这是C++)

void giveMeArray(std::vector<int>& anArray)
{
anArray = std::vecotr<int>(5);
}

返回 vector 的 vector :

void giveMeArray(std::vector<std::vector<int> >& anArray)

关于C++:返回多个新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12063897/

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