c++ - 如何将元素附加到 vector 函数?

标签 c++ vector

<分区>

我有以下功能

vector<int> function(parameters)
{
    //push back some elements to the vector
    ...
}

此函数将返回一个 vector 。我想在这个函数中将一些元素推回到这个 vector 中。我该怎么做才能使函数返回包含附加元素的 vector ?

编辑:事实上,我需要对函数进行递归,以便它可以不断向 vector 中添加元素。在这种情况下,我无法定义像 vector<int> vec; 这样的 vector 或 return vec;因为这会混淆递归。有解决办法吗?

最佳答案

不清楚您要做什么,但这也许会给您一个想法?在递归函数外部声明 vector 并通过引用传递它。

void foo(vector<int>& v)
{
    static int count = 10;
    if (count == 0) return;

    v.push_back(count);

    --count;

    foo(v);
}
int main(int argc, const char * argv[])
{
    vector<int> v;
    foo(v);
    for (int n : v)
        cout << n << endl;
    return 0;
}

关于c++ - 如何将元素附加到 vector 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23840936/

相关文章:

C++ 标准 :vector< T* const>

python - 球形地球上二维矢量场的发散(Python/ basemap )

c++ - std::unique 可以用来确定自定义类的对象是否具有相同的值吗?

c++ - 链表更改节点而不是添加另一个节点

c++ - shared_ptr 的 vector ,从函数返回并修改它

c++ - 子目录中的CMake链接库

c++ - std::set 与用户定义的类型,如何确保没有重复

JavaScript:通过 Angular 和距离找出 Y 点

c++ - 类型同名的成员

python - Python中两个n维向量之间的角度