求解释const char * const & a
&有什么用,不知道两个const怎么区分开来
定义中用到&是独立引用.
比如:
char i;
char &a=i;
表示a是i的一个单独引用.
当有i='a'时,也有a='a';
当有a='c'时,也有i='c';
两个变量的标示符都代表同一个内存空间地址.
声明中带有const时,表示为常量.
对const char* const &a=i从右读起
const &a表示a为常量,一开始要对其赋值,这里赋予i,表示a是i的一个单独引用.在以后的程序中,不能对a本身进行值的修改,即不允许有&a=othervaries 之类的赋值语句.
const char * const &a
是在const &a的基础上声明:const char *a,即对*a(a所指向的内容为常量,不可更改),在以后的程序中,不允许有这样的语句:*a=90;
所以整个声明可以理解为:a 是i的一个别名,且永远是i的别名(不会变成其它变量的别名).不能利用a来修改i的值.a只是对i的值的引用