[C++] const double*& 初始化问题

首先

double mean[4]]={0.};
const double *& haha = mean;//error

这种情况是非法的.原因是,这里的const限定的是double,也就是这是一个 “指向const double 的指针变量的引用“,所以,即使这个指针可以被改变,但是指向的值不能被改变。至于赋值,就只能老老实实赋给它一个const double * 型的变量,只有这样才能体现这个变量是指针且其指向的值不可变(但是地址本身可以变)。
其他的解决办法如下:

double mean[4]]={0.};
double *const & haha = mean;//ok
posted @ 2018-12-05 17:03  zengzhaocheng  阅读(2478)  评论(0编辑  收藏  举报