gpt4 book ai didi

c++ - 从函数返回数组并丢失其大小

转载 作者:行者123 更新时间:2023-11-28 02:54:41 25 4
gpt4 key购买 nike

假设有一个函数 int* coeff(int n) 返回数组(或者更确切地说,返回数组 [0] 的地址)。现在,在这个函数中,这个数组的长度假设为 5,但是当我这样调用它时:int* array=SomeObject->coeff(n); 那个大小丢失了,我没有知道我怎样才能把它找回来。有什么帮助吗?

最佳答案

如果您实际上返回了本地声明的,那么您遇到的问题比“丢失其大小”更大。

首先,您必须记住,数组会衰减为指针,一旦发生这种情况,您就不再拥有有关数组的任何信息,只有指针。并且指针的大小是指针的大小而不是它指向的内容。

更大的问题可能是您返回了一个本地声明的数组。当一个函数返回所有局部声明的变量时,它就超出了范围。那么返回的指针指向什么呢?

关于c++ - 从函数返回数组并丢失其大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22274378/

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