gpt4 book ai didi

c++ - 在 C++ 中正确定义和返回函数数组

转载 作者:搜寻专家 更新时间:2023-10-30 23:59:33 24 4
gpt4 key购买 nike

<分区>

如果我有以下程序:

#include <iostream>

// being lazy and using all std just for example.
using namespace std;

int (*some_func())[10]
{
int arr[10]= {0,1,2,3,4,5,6,7,8,9};

return arr;
}

int main()
{
int arr2[10] = some_func();
for(auto i : arr2)
cout << i << endl;

return 0;
}

这是定义返回数组的函数的正确方法吗?我知道我在这里遗漏了一些重要的东西,我的知识告诉我当你返回 arr 时,你会得到一个 * 到 arr 的第一个元素,但它也告诉我 arr 是在本地定义的,这意味着当函数完成时 arr 将是未定义的因此,当我实际从返回中将 arr 分配给 arr2 时,我正在为它分配未定义的内存,这不是我想要的,但是如果我返回 &arr 是不是本质上是一样的?

任何帮助理解与上述示例相关的内容都会很有用,看来我在某个地方感到困惑,但我不太确定如何纠正它。

谢谢,

尤登

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