随笔-34  评论-108  文章-0  trackbacks-0
    当引用的初始式是一个左值(是一个对象,你可以取得他的地址)时,其初始化就是非常简单的事情。普通T&的初始式必须是一个T类型的。而cosnt T&则不必是一个左值,甚至可以不是T类型的。在这样的情况下,经过以下几个步骤。
    (1)首先,如果需要的话,将应用到类型T的隐式类型转换。
    (2)而后,将结果存入一个类型T的临时变量。
    (3)最后,将此临时变量用作初始化的值。
例如
double& d=1;  //错误,初始式必须式左值
const double& cd=1;  //ok
对后一个初始化的解释是:
double temp=double(1);   // 首先建立一个具有正确数据类型的临时变量
const double& cd=temp;  //而后用这个临时变量作为cd的初始式
posted on 2007-01-15 11:03 探丫头 阅读(1709) 评论(1)  编辑 收藏 引用 所属分类: 编程语言——C++

评论:
# re: 普通引用和const引用的初始化 2007-01-15 19:02 | Caocygg
学到一个术语“左值”。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理