编程中有时候递归需要保存当前的状态,那么传递的如果是形参的话,返回的时候父节点的值就不会变了。
例如 C++ 的 string 以形参的形式传入参数。
#include <iostream>
#include <string>
using namespace std;
void change(string str0) {
str0 = "doublesand";
}
int main() {
string str0 = "dengwenfeng";
string str1 = str0;
str1 = "doublesand";
cout << str0<<endl;
change(str0);
cout << str0 << endl;
getchar();
return 0;
}
可以看出,str0 不会发生变化。