在我正在阅读的一本关于 C++(C++ for Dummies)的书中,有一节内容如下:
int nVar = 10;
int* pVar = &nVar;
const int* pcVar = pVar; // this is legal
int* pVar2 = pcVar; // this is not
这本书接着解释:
赋值 pcVar = pVar; 没关系 - 这是添加 const 限制。片段中的最终赋值是不允许的,因为它试图删除 pcVar 的 const-ness
我的问题是为什么最后一行不是“合法的”。我不明白这如何阻碍 pcVar 的“常量性”。谢谢。