using namespace std;
//c++的引用 实现交换变量
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
//通过指针实现交换变量
void swap1(int *i, int *j) {
int t = *i; //将*i(a)的数值赋值给t
*i = *j; //*将j(b)的数值赋值给i(&a)所指向的内存空间
*j = t; //*将t的数值赋值给j(&b)所指向的内存空间
}
//这里是只是交换指针,不会交换变量的值
void swap2(int *i, int *j) {
int *t=i ;
i = j;
j = t;
}
//所有的交换都在swap中,但是这个交换没有返回值,当i,j 交换后,随即释放,不会对原来的值a,b 有任何影响
void swap3(int i, int j) {
int t=i ;
i = j;
j = t;
}
int main()
{
int num1 = 10;
int num2 = 20;
cout<<num1<<" "<<num2<<endl;
//swap(num1, num2);
//swap1(&num1, &num2);
//swap2(&num1, &num2);
swap3(num1, num2);
cout<<num1<<" "<<num2<<endl;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)