我构建了一个接受 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/