- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 1.引用的概念: 变量的引别名。用就是变量的别名,因此又称为别名。为一个变量起另一个名字,以便在需要的时候可以方便、间接的引用该变量。 如: int a; int b=a; 错误写法:int a1,a2; int b=a1; int b=a2; 2. 引用的简单使用 #include iostream using namespace std; int main( ) {int a=10; int b=a; //声明b是a的引用 a=a*a; //a的值变化了,b的值也应一起变化 couta bendl; b=b/5; //b的值变化了,a的值也应一起变化 coutb aendl; return 0;} 运行记录: 100 100 20 20 * * 3.关于引用的简单说明 (1)引用不是一种独立的数据类型,他必须与某一种类型的数据相联系。 如:int b=a; (2)引用与其所代表的变量共享同一内存单元,系统不为引用另外分配存储空间。 如: int a=3; int b=a; couta“ ”bendl; (3)当看到a这样的形式时,区分是引用还是取地址的操作关键 在于:当a的前面有类型符时,它必然是对引用的声明;如果前面 没有类型符(如:p=a),此时的是取地址运算符。 (4)对引用的初始化,可以用一个变量名,也可以用另一个引用。 如:int a=3; int b=a; int c=b; (5)引用在初始化后不能再被重新声明为另一个变量的别名。 如: int a=3,b=4; int c=a; int c=b; * 4.将引用作为函数参数 (1)将变量名作为实参。这时传给形参的是变量的值。 例:无法实现两个变量的值互换的程序。 #include iostream using namespace std; void swap(int a,int b) {int temp; temp=a; a=b; b=temp; //实现a和b的值互换 } int main( ) {int i=3,j=5; swap(i,j); couti,jendl; //i和j的值未互换 return 0; } * 2.传递变量的指针 为了解决上面这个问题,在C中可以用传递变量地址的方法。 #include iostream using namespace std; void swap(int *p1,int *p2) {int temp; temp=*p1; *p1= *p2; *p2=temp; } int main( ) {int i=3,j=5; swap(i,j); couti,jendl; return 0;} 这种方法其实也是采用了“值传递”方式,向一个指针变量传送一个地址,然后再通过指针变量访问有关变量,这样做在概念上兜了个圈子,还需要指针运算符“*”去访问有关变量,比较麻烦。 * (3)传送变量的别名。 C++把变量的引用作为函数形参,就弥补了上面的不足。这就是向函数传递数据的第三种方法,即传送变量的别名。 #include iostream using namespace std; void swap(int a,int b) {int temp; temp=a; a=b; b=temp;} int main( ) {int i=3,j=5; swap(i,j); couti=i j=jendl; return 0;} 通过以上的例子,可以知道在C++调用函数时有两种传递数据的方式, 一种是常用的方法:将实参的值传送给形参,形参是实参的一个拷贝;这 种方式称为传值方式调用;另一种是将实参的地址传给引用型形参,这时 形参和实参是同一个变量,这种方式称为引用方式调用。 * 使用引用和使用指针变量做函数形参的不同之处: (1)不必在swap函数中设立指针变量,指针变量要另外 开辟内存单元,其内容是地址。而引用不占用内存单元。 (2)在main函数中调用swap函数时实参不必在变量名前 面加以表示地址。这种传递方式过程中,系统传送的是 实参的地址。 (3)使用指针变量时,为了表示指针变量所指向的变量, 必须使用指针运算符*,而使用引用时,引用就是代表该 变量,不用使用运算符。 (4)用引用能完成的工作,用指针也能完成,但引用比 指针使用直观、方便。过去只能用指针处理的问题现在也 可以用引用来代替。 * 5.对引用的
您可能关注的文档
- 2011年下半年总结及2012年上半年规划会-Paper.PPT
- 2011年普通高考安徽卷物理-六安城南中学.PPT
- 2011辛卯梅竹赛-交通大学.PDF
- 2011年中考思想品德试题评析.PPT
- 2012届高中化学第二轮复习河南太康第一高级中学.PPT
- 2012年半财务报告-皖通高速.PDF
- 2012年教职工运动会名次-上海政法学院.DOC
- 2013全国大专校院‘儿童创新生活用品与故事说演’-远东科技大学.PDF
- 2013中英人寿星星点灯少儿绘画大赛河南站.PPT
- 2013年6月普高会考学考安高考点考务秩序册-安吉高级中学.DOC
- 广东省东莞市2024-2025学年八年级上学期生物期中试题(解析版).pdf
- 非遗剪纸文创产品开发经理岗位招聘考试试卷及答案.doc
- 广东省东莞市2024-2025学年高二上学期期末教学质量检查数学试题.pdf
- 体育安全理论课件图片素材.ppt
- 3.1 公民基本权利 课件-2025-2026学年道德与法治八年级下册 统编版 .pptx
- 广东省潮州市湘桥区城南实验中学等校2024-2025学年八年级上学期期中地理试题(解析版).pdf
- 大数据运维工程师岗位招聘考试试卷及答案.doc
- 广东省深圳市福田区八校2026届数学八年级第一学期期末教学质量检测模拟试题含解析.doc
- 广东省潮州市湘桥区城基初级中学2024-2025学年八年级上学期11月期中考试数学试题(解析版).pdf
- 广东省潮州市湘桥区城西中学2024-2025学年八年级上学期期中地理试题(解析版).pdf
最近下载
- 教学计划|最新冀人版小学科学六年级下册教学计划及教学进度表.doc VIP
- 思诺达SAN600G11通用型矢量变频器使用说明书用户手册.pdf
- 迅达电梯5400超详细故障代码中文版 .doc
- (沪教2024版)英语七年级上册 Unit2 全单元教案.docx
- 2025届高三八省联考考前猜想卷一物理试题含答案解析.pdf VIP
- 慢性病监测培训测试题.docx VIP
- 2025年AI时代企业数据基建升级路线图.pdf VIP
- AWS A5.18 A5.18M 2017 国外国际标准规范.pdf VIP
- 2025届福建省厦门市初中三年级上学期期中考试语文试卷.docx
- 光伏施工进度计划.docx VIP
原创力文档


文档评论(0)