我已经构建了一个函数,它接受对vector的引用作为参数,它看起来像这样:
void func(std::vector<int> &vec) {
// sth. to do
}
但是我希望这个函数是递归的,并且用原向量的一部分调用自己。
void func(std::vector<int> &vec) {
// sth. to do
func(part of the orignial vector);
}
我如何从原来的向量构造一个新的向量?重要的是,当我在递归调用中修改向量的部分时,原始向量"vec"也发生了这种变化,所以我不想传递一个副本或新向量。谢谢你的帮助。
老方法!
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);
}