当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

C++中的引用范例[VC/C++编程]

赞助商链接



  本文“C++中的引用范例[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

引用范例也称别名,它是个很风趣的东西.在c++ 下你可以把它看做是别的的一种指针,通过引用范例我们一样也可以间接的操作对象,引用范例主如果用在函数的情势参数上,普通我们利用它是把类对象传送给一个函数.

引用对象采取范例名加上&标记和名称的方法举行定义.比方:(int &test;),这里我们就定义了一个int范例的名为test 的引用,但是int &test;这样的方法是不可以被编译成功的,因为引用的定义必须同时给利用举行赋值操作,这里的赋值并非说把变量的值传送给引用,而是把引用指向变量,写成这样就对了:(int &test=变量名;).

#include<iostream> 
usingnamespacestd; 
 
voidmain(void) 
{ 
 
inta=10; 
int&test=a; 
test=test+2; 
 
cout<<&a<<"|"<<&test<<"|"<<a<<"|"<<test<<endl; 
 
cin.get(); 
}

察看并编译运行上面的代码你会发现&a和&test的地址显示是相同的,a和test的值显示也是一样的!

结合前一个教程的内容我们来说一下const引用的相关内容,这里要分外注意,和前一个教程一样带const修饰的引用一样也简单混合概念!

const修饰假如用在引用上会有一个分外之处,它的奥妙就在于可以举行差别范例的对象的初始化,而这一切在普通变量操作上是不大概的下面我们来看一个例子:

#include<iostream> 
usingnamespacestd; 
 
voidmain(void) 
{ 
 
inta=10; 
//double&test=a+1.2f;//这句就是错误的! 
constdouble&test=a+1.2f; 
 
cout<<&a<<"|"<<&test<<"|"<<a<<"|"<<test<<endl; 
 
cin.get(); 
}

上面的代码充足阐明问题了,这就是const修饰带来的好处,但是聪明的人会在输出的时刻发现一个问题,就是a和test的值的输出差别,按照最早说的原理应当可以改变a的值呀,为什么在这里却有没有可以改变呢?

原理是这样的,const修饰过后的引用在编译器内部是这样举行改变的.

inta=10; 
constdouble&test=a+1.2f;

这样的一段代码在编译器认为倒是下面的方法举行的

inta=10; 
inttemp=a; 
constdouble&test=temp+12.f

这里其实是把a的值赋给了一个暂时temp 变量,此后test得到的倒是temp+12.f 改变的是temp而不是a,所以就呈现了a和test显示的值差别的情形,这里要分外注意,这是一个很简单混合的地方,在编写程序的时刻要分外细心,免得呈现了问题却查抄不出为什么!


  以上是“C++中的引用范例[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 7中UAC中的蓝黄提醒框
  • 浅析数据源在JDBC中的操纵
  • Weblogic中因为IP变更招致SubCoordinator not available,Transa
  • 关于在weblogic中异步伐用webservice
  • Weblogic中的load banlance问题
  • 关于weblogic中操纵Dom4j、Xerces招致实施线程挂起的问题
  • JVM TI学习(1) 若何中止weblogic中stuck thread
  • Weblogic中几个internal的XA timeout(情况切换相关的超时)
  • 如安在基于注解气势的Spring-MVC中操纵阻碍器
  • 关于weblogic中jms message的情况
  • 关于Weblogic中XAER_NOTA XAException的两种注释
  • 关于weblogic中操纵prepared statement cache后操作DDL的问题
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .