- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指针 指针引用 指针指针
HYPERLINK /mzty/archive/2006/07/07/9531.html c++中指针,指针的引用,指针的指针的区别
看例子和结果:
#include?iostreamusing?namespace?std;void?FreePtr1(int*?ptr1){????delete?ptr1;?????ptr1?=?NULL;}void?FreePtr2(int*?ptr2){????delete?ptr2;?????ptr2?=?NULL;}?void?FreePtr3(int?**ptr3){????delete?*ptr3;????*ptr3?=?NULL;}void?main(){????cout---------------------------------------endl;????int?*p1?=?new?int;????*p1?=?1;????cout*p1=*p1endl;????FreePtr1(p1);????coutafter?call?freePtr1endl;????if(p1?!=?NULL)????{????????coutp1?is?not?nullendl;????????cout*p1=(*p1)endl;????}????cout---------------------------------------endl;????int?*p2?=?new?int;????*p2?=?2;????cout*p2=*p2endl;????FreePtr2(p2);????coutafter?call?freePtr2endl;????if(p2?!=?NULL)????{???????????????cout*p2=*p2endl;????}????else????{????????coutthe?p2?is?nullendl;????}????cout---------------------------------------endl;????int?*p3?;????p3?=?new?int(3);????cout*p3=*p3endl;????FreePtr3(p3);????coutafter?call?freePtr3endl;????if(p3?!=?NULL)????{???????????????cout*p3=*p3endl;????}????else????{????????coutthe?p3?is?nullendl;????}????cout---------------------------------------endl;????system(pause);}
结果:comments:对p1指针:cout---------------------------------------endl;?int *p1 = new int;?*p1 = 1;?cout*p1=*p1endl;//?FreePtr1(p1);void FreePtr1(int* ptr1){?delete ptr1;??ptr1 = NULL;}?coutafter call freePtr1endl;?if(p1 != NULL)?{??coutp1 is not nullendl;??cout*p1=(*p1)endl;?}?cout---------------------------------------endl;而p2为:调用前:调用后:注意:函数的参数进行值拷贝,即使传的是指针,也的对指针(即指针里存的地址)的拷贝, 可不是指针里地址所指的值的拷贝啊!
引用与指针的区别:
? 常常有人问引用与指针的区别,可能是指针和引用在功能上的相似,而是他们混淆这两个概念,现在总结以下二者的区别,希望大家能彻底弄清这两个概念根本性的差别:
引用,一个变量的别名,为什么引入别名呢?原因是我们想定义一个变量,他共享另一个变量的内存空间,使用别名无疑是一个好的选择。变量是什么?是一个内存空间的名字,如果我们给这个内存空间在起另外一个名字,那就是能够共享这个内存了,引用(别名)的由此而来。
指针,指向另一个内存空间的变量,我们可以通过它来索引另一个内存空间的内容,本身有自己的内存空间。
二者区别:(1)引用访问一个变量是直接访问,而指针是间接访问。 ??????????? (2)引用是一个变量的别名,本身不单独分配自己的内存空间,而指针有自己的内存空间。 ??????
文档评论(0)