美文网首页
const限定符(二)

const限定符(二)

作者: Troll__Zhao | 来源:发表于2016-01-12 17:08 被阅读0次

在前面我们说过,引用的类型必须与其所引用的对象的类型相同,但是有个例外初始化常量引用的时候允许任意表达式作为初始值,只要该表达式能转化为引用的类型
即允许一个常量引用绑定到一个非常量对象、字面值、甚至是一个一般表达式上:

int i = 42;
const int &r1 == i;        //允许const int绑定到一个普通的int对象上
const int &r2 = 42;        //r2是一个常量引用
conts int &r3 = r1 * 2;    //r3是一个常量引用
int &r4 = r1 * 2;            //错误:普通引用不能绑定到常量引用

实际上,当一个常量引用被绑定到另外一种类型上的时候:

double dval = 3.14;
const int &ri = dval;

上述代码在编译器中的形式是:

double dval = 3.14;
const int temp = dval;      //双精度浮点数生成一个临时的const int对象
const int &ri = temp;        //ri绑定了这个临时变量

相关文章

  • const 限定符详解

    背景 const 限定符的使用经常出现混淆,所以在此总结。 const 限定符与初始化 const 对象const...

  • const限定符(二)

    在前面我们说过,引用的类型必须与其所引用的对象的类型相同,但是有个例外初始化常量引用的时候允许任意表达式作为初始值...

  • C++11新特性(4)- const, const expres

    const限定符 const可以用于定义变量,它的值不能被改变。 const int bufSize = 512;...

  • C++类型转换

    const_cast const_cast转换符是用来移除变量的const或volatile限定符。 上述转换也可...

  • 笔记07:C++中的const

    1,const 限定符 const int i = 0;,使用const可以将i变成一个常量,当试图对i的值进行修...

  • const限定符

    const限定符 const对象一旦创建就不可以改变,所以必须初始化,可以用复杂的表达式或者常量来初始化。 例: ...

  • const限定符

    1、解决神秘数字(魔数)的问题 写个数字,不知道代表什么意思。就叫神秘。定义一个变量的话容易被修改 ,定义成con...

  • Const 限定符

    前言:认真学习一下 C++,感觉光会 Go 没啥用。读一读《C++ Primer》 基本知识 const 对象一旦...

  • C++ const用法

    const限定符 在变量前面加上const,也可以创建一个常量。使用const创建常量的一般格式如下: 使用con...

  • C++笔记(2)

    这次学习的是const,C++是一种很坑爹的东西,连const都能玩出这么多的花样。 const 限定符 cons...

网友评论

      本文标题:const限定符(二)

      本文链接:https://www.haomeiwen.com/subject/jdkckttx.html