在C++中,数组无法直接作为函数的返回值返回,因为数组名会退化为一个指向数组首元素的指针。不过可以使用指针或者引用来返回数组的方式。
以下是使用指针返回数组的示例:
#include <iostream>int* createArray(int size) { int* arr = new int[size]; for (int i = 0; i < size; i++) { arr[i] = i; } return arr;}int main() { int size = 5; int* arr = createArray(size); for (int i = 0; i < size; i++) { std::cout << arr[i] << " "; } // Remember to delete the dynamically allocated array to avoid memory leaks delete[] arr; return 0;}另外,也可以使用引用来返回数组的方式,代码示例如下:
#include <iostream>void createArray(int*& arr, int size) { arr = new int[size]; for (int i = 0; i < size; i++) { arr[i] = i; }}int main() { int size = 5; int* arr; createArray(arr, size); for (int i = 0; i < size; i++) { std::cout << arr[i] << " "; } // Remember to delete the dynamically allocated array to avoid memory leaks delete[] arr; return 0;}在这两种方式中,都是动态分配了一个数组,并返回了数组的首地址。需要注意的是,在使用完毕后需要手动释放这些动态分配的内存,以避免内存泄漏。




