引用Const及其Staic.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文档。上传文档
查看更多
引用Const及其Staic

Fundamentals of Computers 制作:刘晓翔 JINAN University 暨南大学珠海学院《Windows编程》 Fundamentals of Computers 暨南大学珠海学院《Windows编程》 制作:刘晓翔 JINAN University Fundamentals of Computers 暨南大学珠海学院《Windows编程》 制作:刘晓翔 引用与指针的比较 小小知识点 引用与指针的比较 引用的概念 引用是C++中的概念,初学者容易把引用和指针混淆一起。以下程序中,n是m的一个引用(reference),m是被引用物(referent)。 int m; int n = m; n相当于m的别名(绰号),对n的任何操作就是对m的操作。例如有人名叫王小毛,他的绰号是“三毛”。说“三毛”怎么怎么的,其实就是对王小毛说三道四。所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。 引用与指针的比较 引用的使用规则及其与指针的比较 (1)引用被创建的同时必须被初始化;指针则可以在任何时候被初始化。 (2)不能有NULL引用,引用必须与合法的存储单元关联;指针则可以是NULL。 (3)一旦引用被初始化,就不能改变引用的关系;指针则可以随时改变所指的对象。 引用与指针的比较 引用的主要功能 以下示例程序中,k被初始化为i的引用。语句k = j并不能将k修改成为j的引用,只是把k的值改变成为6。由于k是i的引用,所以i的值也变成了6。 int i = 5; int j = 6; int k = i; k = j; // k和i的值都变成了6; 上面的程序看起来象在玩文字游戏,没有体现出引用的价值。引用的主要功能是传递函数的参数。C++语言中,函数的参数的传递方式有三种:值传递、指针传递和引用传递。 引用与指针的比较 为什么要使用引用? 实际上“引用”可以做的任何事情“指针”也都能够做,为什么还要“引用”这东西? 答案是“用适当的工具做恰如其分的工作”。 指针能够毫无约束地操作内存中的任何东西,尽管指针功能强大,但是非常危险。就象一把砍刀,它可以用来砍树,也可以用来裁纸、修指甲、理发等等,谁敢这样用? 如果的确只需要借用一下某个对象的“别名”,那么就用“引用”,而不要用“指针”,以免发生意外。比如说,某人需要一份证明,本来在文件上盖上公章的印子就行了,如果把取公章的钥匙交给他,那么他就获得了不该有的权利。 (如果不是借用某个对象“别名”,而是需要权力更大的操作,如new一个对象,那还是需要用指针) const的使用方法 小小知识点 const的使用方法 const 与 #define 的比较 看到const关键字,C++程序员首先想到的可能是const常量。 例如:Const int a = 123 //a的值不可变 ,a = 456不可以 Const int *p = 123 //*p的值不可变,*p = 456不可以 int* Const p = a //地址p不可变,p++不可以 用 #define来定义常量。但是const比#define有更多的优点: (1)const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。 (2)有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。 const的使用方法 使用const提高函数的健壮性 如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮。const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。 const是constant的缩写,“恒定不变”的意思。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。 所以很多C++程序设计书籍建议:“Use const whenever you need”。 const的使用方法 1. 用const修饰函数的参数 ?如果参数采用“指针传递”作输入用,那么加const修饰可以防止意外地改动该指针,起到保护作用。 例如StringCopy函数: void StringCopy(char *strDestination, const char *strSource); 其中strSource是输入参数,strDestination是输出参数。给strSource加上const修饰后,如果函

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档