[英]C++ const double pointer
我想使一个常量双指针指向一个指向常量double的常量指针。 我从头开始制作它(当然我在书上做了一些搜索,然后我用Google搜索)并思考以下三个:
const double* cp; //pointer to a constant double
double *const cp; //constant pointer
const double *const cp; //constant pointer to a constant double
我认为下一步是编写一个常量双指针
double **const cp;// double constant pointer
然后我结合最后两个语句和我写
const double *const cp = arr[0];
double **const cp1 = arr ;
其中arr是动态分配的双维数组。 之后我试着验证我做了什么,并写下了以下语句,期望产生所有错误。
**cp1 = 1; // didn't produce error
*cp1 = arr[4]; // didn't produce error
cp1 = new double*[5]; //produce error
所以问题是我无法完成上面描述的内容,一个常量双指针指向一个指向常量double的常量指针。 我该怎么做?
提前致谢。
中只有一个const
double **const cp1 = arr ;
// ^^^^^
所以我不确定你为什么期望其他两个作业产生错误。
如果你想让它在所有级别都是const
,你需要
const double *const *const cp1 = arr;
// ^ cp1 is ...
// ^ a const pointer to ...
// ^ a const pointer to ...
// ^ a const double
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.