c++

C++怎么返回一个数组

小亿
462
2024-03-02 14:11:23
栏目: 编程语言

在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;
}

在这两种方式中,都是动态分配了一个数组,并返回了数组的首地址。需要注意的是,在使用完毕后需要手动释放这些动态分配的内存,以避免内存泄漏。

0
看了该问题的人还看了