C++学习笔记——交换

复制代码
//#include<iostream>
//using namespace std;
//void swap(int& a1, int& b1)//该情况下,将主函数中的a和b分别传递给了a1和b1,在引用的作用下,a和a1,b和b1分别共用一个空间,
//{
//    int t = a1;                //在这里进行空间的交换,能够实现形参的交换
//    a1 = b1;
//    b1 = t;
//}
//void swap1(int a1, int b1)//在该情况下,主函数中的a和b分别传递给了a1和b1,让a1和b1分别开辟了新的空间
//{
//    int t = a1;            //由于a和a1,b和b1的空间都相互独立,所以这里虽然发生了空间的交换,但是只发生了a1和b1的交换,
//    a1 = b1;            //对主函数中的a和b的值不造成影响,所以改变后的值未输出,所以主函数的值不会发生交换
//    b1 = t;
//}
//void swap2(int *a, int *b)//指针的本质与引用相似,都是对同一空间进行操作
//{
//    int t = *a;//a1,b1在这里也会开辟新的空间,这里a1,b1的空间存放的是a,b的地址
//    *a = *b;    //而*a1,*b1是直接对a,b的地址进行操作,实际交换的是a,b的地址
//    *b = t;
//}
//int main()
//{
//    int a, b;
//    a = 12;
//    b = 21;
//    cout << "交换前" << "a的值" << a << endl
//        <<"b的值" << b << endl;
//    //swap(a, b);//会发生值的改变
//    //swap1(a, b);//不会发生值的改变
//    swap2(&a, &b);//会发生值的改变
//    cout << "交换后" << "a的值" << a << endl
//        << "b的值" << b << endl;
//    return 0;
//}
复制代码

 

posted @   努力的阿坤  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示