首页 / C++ / C++ 值类型和引用类型传递示例
C++ 值类型和引用类型传递示例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++ 值类型和引用类型传递示例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1655字,纯文字阅读大概需要3分钟。
内容图文
![C++ 值类型和引用类型传递示例](/upload/InfoBanner/zyjiaocheng/1202/c68b9d6f5e324c7693a1c23a9bf44768.jpg)
// win32test.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" void swap_point(int * &a , int * &b){ int temp = *a ; *a = *b; *b = temp ; //销毁调用方指针 //a = NULL ; //b = NULL ; printf("swap_point:[0x%x] , [0x%x] \r\n" , &a , &b) ; } void swap(int * a , int * b){ int temp = *a ; *a = *b; *b = temp ; //销毁调用方指针无效 //a = NULL ; //b = NULL ; printf("swap:[0x%x] , [0x%x] \r\n" , &a , &b) ; } void swap(int & a , int & b){ int temp = a ; a = b ; b = temp ; printf("swap:[0x%x] , [0x%x] \r\n" , &a , &b) ; } int _tmain(int argc, _TCHAR* argv[]) { /*int *ptr[3]; for(int i = 0 ; i < 3 ; i++){ ptr[i] = new int[5] ; for(int l = 0 ; l < 5 ; l++){ ptr[i][l] = i * l ; printf("%d * %d = %d \r\n " , i , l , ptr[i][l] ) ; } }*/ /*int (*ptr)[3] ; ptr = (int (*) [3])malloc(sizeof(int *) * 5) ; for(int i = 0 ; i < 5 ; i++){ (*ptr)[0] = 1; (*ptr)[1] = 2; (*ptr)[2] = 3; ptr++ ; } //初使化数组 char y[9][9] = {0};*/ int a = 3 ; int b = 4 ; //指针通过值传递(无法修改调用方指针变量值),调用swap ,指针变量 ptra , ptrb 按【值】传递 , 其中 swap 中 int * a , int * b 分别copy ptra , ptrb 指针变量 int * ptra = &a ; int * ptrb = &b ; swap(ptra , ptrb) ; printf("a = %d [0x%x] , b = %d[0x%x] , ptra = [0x%x] , ptrb = [0x%x] \r\n" , a , &a , b , &b , &ptra , &ptrb ) ; //指针通过引用传递(能修改调用方指针变量值),调用swap_point ,指针变量 ptra , ptrb 按【引用】传递 , 其中 swap 中 int * a , int * b 即 ptra , ptrb 指针变量 swap_point(ptra , ptrb) ; printf("a = %d [0x%x] , b = %d[0x%x] , ptra = [0x%x] , ptrb = [0x%x] \r\n" , a , &a , b , &b , &ptra , &ptrb ) ; //按引用传递 a = 3 ; b = 4 ; swap(a , b) ; printf("a = %d [0x%x] , b = %d[0x%x] \r\n" , a , &a , b , &b) ; system("pause"); return 0; }
原文:http://www.cnblogs.com/a_bu/p/7366791.html
内容总结
以上是互联网集市为您收集整理的C++ 值类型和引用类型传递示例全部内容,希望文章能够帮你解决C++ 值类型和引用类型传递示例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。