当前位置:首页 C++ > 正文

C++函数返回二维数组和二维vector容器

作者:野牛程序员:2023-08-10 17:10:01 C++阅读 2767

在C++中,要返回二维数组或二维vector容器,你可以使用不同的方式来实现。下面我将分别展示如何返回二维数组和二维vector容器。

返回二维数组:

C++中没有直接支持返回数组的功能,但你可以使用指针或std::array来模拟返回数组。下面是一个返回二维数组的示例:

#include <iostream>
#include <array>

// 函数返回一个std::array表示的二维数组
std::array<std::array<int, 3>, 3> return2DArray() {
    std::array<std::array<int, 3>, 3> arr = {{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}};
    return arr;
}

int main() {
    std::array<std::array<int, 3>, 3> result = return2DArray();

    for (const auto& row : result) {
        for (int num : row) {
            std::cout << num << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

返回二维vector容器:

C++中,std::vector容器是更灵活和常用的数据结构。下面是一个返回二维vector容器的示例:

#include <iostream>
#include <array>

// 函数返回一个std::array表示的二维数组
std::array<std::array<int, 3>, 3> return2DArray() {
    std::array<std::array<int, 3>, 3> arr = {{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}};
    return arr;
}

int main() {
    std::array<std::array<int, 3>, 3> result = return2DArray();

    for (const auto& row : result) {
        for (int num : row) {
            std::cout << num << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

在这两个示例中,分别用一个函数返回了一个二维数组和一个二维vector容器。可以根据实际需求来选择返回哪种数据结构。注意,由于C++的局部变量在函数结束后会销毁,因此在返回指向局部变量的指针或引用时需要特别小心。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击