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 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)