如何从C ++函数返回本地数组?
本地数组不能直接从C++函数返回,因为函数调用后它可能不存在于内存中。解决此问题的一种方法是在函数中使用静态数组。由于静态数组的生命周期是整个程序,因此可以很容易地从C++函数返回它,而不会出现上述问题。
演示此过程的程序如下。
示例
#include <iostream>
using namespace std;
int *retArray() {
static int arr[10];
for(int i = 0; i<10; i++) {
arr[i] = i+1;
}
return arr;
}
int main() {
int *ptr = retArray();
cout <<"The array elements are: ";
for(int i = 0; i<10; i++) {
cout<< ptr[i] <<" ";
}
return 0;
}输出结果
上面程序的输出如下。
The array elements are: 1 2 3 4 5 6 7 8 9 10
现在让我们了解上面的程序。
在函数中retArray(),定义了一个静态数组arr。然后使用for循环初始化此数组。最后返回数组arr。显示此代码段如下。
int *retArray() {
static int arr[10];
for(int i = 0; i<10; i++) {
arr[i] = i+1;
}
return arr;
}在main()函数中,该函数retArray()被调用,并且ptr指向数组arr的开头。数组元素使用for循环显示。显示此代码段如下。
int main() {
int *ptr = retArray();
cout <<"The array elements are: ";
for(int i = 0; i<10; i++) {
cout<< ptr[i] <<" ";
}
return 0;
}热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短