第 9 章_引用.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 9 章_引用

C ++ 程序设计教程(修订版) 第九章 引用 2.引用操作 对引用执行取地址操作,结果只能是所引用的目标地址 C++没有提供访问引用本身地址的方法,因为它与指针或其他变量的地址不同,没有任何意义 #include iostream.h void main() { int intOne; int rInt=intOne; coutrIntendl intOneendl; } #include iostream.h void main(void) { int a[3] ={10,20,30}; int (b)[3] = a; //b的引用是数组名a. b[0]=40; coutb[0]endl b[1]endl b[2]endl; } #include iostream.h bool Factor(int, int, int); void main() { int number,squared,cubed; bool error; cout Enter a number(0~20): ; cin number; error=Factor(number,squared,cubed); if(error) cout Error encountered!\n; else{ cout Number: number endl; cout Squared: squared endl; cout Cubed: cubed endl; } } #include iostream.h void main(void) { int a,b; const int * pa=a; //指针指向的内容不能修改 *pa=10; //非法,pa指向内容不能修改 pa=b; } 总结 引用是c++独有的特征,与指针相比他具有表达清楚的优点。 引用能够保证参数传递中不产生副本,从而发挥指针的威力,提高传递效率。 通过const的使用,保证引用传递的安全性。 引用的目的:主要在于函数参数传递中,解决大对象的传递效率和恐吓见都不如意的问题。 不允许声明引用数组。 8.用const限定引用 double fn(const double pd) {//保护实参不被修改的办法是传递const指针和引用 static double ad=32; ad+=pd; cout fn being called...the value is: pd endl; return ad; } void main(){ double a=345.6; double pa=fn(a); cout pa endl; a=55.5; pa = fn(a); cout pa endl; } 8.用const限定引用 保证实参不被修改的办法是传递const的指针或引用 (1)禁写指针 声明语句格式:类型 * const 指针变量名; 如:int r=6; int * const pr=r; 则指针pr被禁写,即pr将始终指向一个地址,成为一个指针常量,它将不能再作为左值而放在赋值号的左边 同样,禁写指针一定要在定义的时候赋初值 虽然指针被禁写,但其间接引用并没有被禁写,即可以通过pr对r赋值: 如:*pr=8; a b a pa 10 8.用const限定引用 void main(void) { int a,b; int *const pa=a; //一定要赋初值, //pa指针是常量,不能在程序中被改变 *pa=10; //可以间接引用 pa=b; //非法,pa为常量 } (2)禁写间接引用 声明语句格式:const 数据类型 * 指针变量名; 所声明的指针指向一禁写的实体,即间接引用不能被改写 如:int a; const int *p=a; 所以程序中不能出现如 *p= 的语句,但指针p并未被禁写,因而可对指针p进行改写 如:int b; p=b; 8.用const限定引用 即不可以通过指针对变量重新赋值 void main(void) { int a=3, b=5; const int *pa=b

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档