c++ - 传递 vector 作为递归函数的引用

标签 c++ vector

我构建了一个接受 vector 引用作为参数的函数,它看起来像这样:

void func(std::vector<int> &vec) {
   // sth. to do
}

但我希望该函数是递归的,并使用原始 vector 的一部分调用自身。

void func(std::vector<int> &vec) {
    // sth. to do
    func(part of the orignial vector);
}

如何从我的原始 vector 构造一个新 vector ?重要的是,当我在递归调用中修改 vector 的一部分时,原始 vector “vec”也发生了这种变化,所以我不想传递一个拷贝或新的 vector 。 感谢您的帮助。

最佳答案

老办法!

void func(std::vector<int> &vec,int l,int r) {
    // this function modifies only vec fro indices l to r. 
    //
    // do what you want
    //
    //
    func(vec,new_l,new_r);
}

关于c++ - 传递 vector 作为递归函数的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40102450/

相关文章:

两个不同 vector 中的 C++ 相同对象

c++ - 在容器中查找派生对象

c++ - 文件记录的有效方法

c++ - 错误 : Compiling simple PjSIP program under ubuntu

android - KSOAP2 处理复杂响应(向量)

vector - 用于向量空间搜索的 NoSQL DB

c++ - vector 的地址代表什么?

c++ - Visual Studio 2015 自动包含缺少的包含

c++ - 迭代 ifstream

c++ - && 对 lambda 表达式有什么好处?