C++返回向量

C++ return vector

本文关键字:向量 返回 C++      更新时间:2023-10-16

我有一个接受数组(int(的函数,我必须返回总和为0的所有子集。如果我的数组列表是 (2,5,-3,-5,-2(,我的函数必须返回 (2,-2(,(5,-5(,(5,-3,-2(。如何返回此子集,以及如何在程序中访问它们(例如,如果存在,则显示第 2 个子集(?我提到我不需要藻类来找到子集。如果你知道我如何使用vectorv[],那就完美了

你将返回一个向量的向量:

template<size_t N>
std::vector<std::vector<int>> myFunc(const std::array<int, N>& arr)
{
    std::vector<std::vector<int>> results;
    //... fill results
    return results;
}

如果你知道我如何使用vector v[]那就完美

你不能制作数组的向量,但你可以制作向量的向量。这是C++需要制作容器时的标准策略:

std::vector<std::vector<int> > make_sets(std::vector<int> data) {
    std::vector<std::vector<int> > res;
    std::vector<int> first;
    res.push_back(first);
    std::vector<int> second;
    res.push_back(second);
    return res;
}