Class** 转换成 const Class**的问题

来源:互联网 发布:假面骑士腰带淘宝 编辑:程序博客网 时间:2024/06/15 01:39
{// Test Class** to const Class**
const int x = 100;
int* pi;
int** ppi = π
const int* cpi = &x;
const int** cppi = &cpi;

// cppi = ppi;// cannot convert from 'int **' to 'const int **'
// *cppi = cpi;
// 原因如下:
/*
如果是允许的,那么因为上面注释掉的两句可以知道这个时候*cppi是指向常量x的,但是又因为ppi不是 const,所以我们可以通过它来修改常量的值。
这个是不合理的,虽然在C中可以,但是在C++中被修正了。
*/
原创粉丝点击