cout << "Digital root of " << n << " is: " << result << endl;
return0;
}
Reverse a string
recurcively
stringreverse(string s){
if (s.substr(1) == ""){
return s;
} else {
return reverse(s.substr(1)) + s[0];
}
}
intmain(){
string s = getLine("Enter a string that you wanna reverse: ");
string reversed = reverse(s);
cout << "Reversed of " << s << " is: " << reversed << endl;
}
Parameter Passing in C++
General principle: When passing a string into a function, use pass-by-reference unless you actually want a copy of the string.
"Pass by value" (default behavior of parameters)
The function twiceOf takes the value of main’s variable a as input, but the change in twiceOf only happens to a local copy named a.
inttwiceOf(int a){
return a *= 2;
}
intmain(){
int num = 12;
cout << twiceOf(num) << endl;
return0;
}
// the answer here is `12`
"Pass by reference" - &
I like to think of the & asa rope lasso that grabs the input parameter and drags it into the function call directly, rather than making a copy of its value and then leaving it in place.
inttwiceOf(int& a){
return a *= 2;
}
intmain(){
int a = 12;
cout << twiceOf(a) << endl;
return0;
}
// the answer here is `24`
Pass-by-const-Reference
If you want to look at, but not modify, a function parameter, pass it by const reference: The “by reference” part avoids a copy.
The const (constant) part means that the function can’t change that argument.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~