C++ const基础

常量声明

const type expr=value;

type const expr=value;

以上两种声明对于整数类型,实数类型,字符类型,布尔类型以及自定义的类有效。

 

对于指针

但是,对于指针,可就不是这样了。

const type* ptr=&expr;//可以修改指针所指的地址,但是不可以通过指针修改指针所指的值。通常被称为底层const

type* const ptr=&expr;//可以通过指针修改指针所指的值,但是不可以修改指针所指的地址。通常被称为顶层const

两者是有区别的。

当然,如果指针本身是不可变的,也不能修改指针所指的值,那就:

const type*const ptr=&expr;

对于引用

引用只能绑定一个变量。

引用在被定义的同时就必须被绑定到一个变量上。

所以,引用本身是不可更改的。

因此,引用所绑定的值是否可以改变视声明而定。

type&expr=value;//可以通过引用改变变量的值

const type&expr=value;//不可以通过引用改变变量的值

posted @ 2019-03-10 15:05  Colin-Wang  阅读(113)  评论(0编辑  收藏  举报