【发布时间】:2016-01-14 23:28:51
【问题描述】:
我是 C++ 新手,正在尝试学习指针的概念。我很困惑为什么第三和第四个语句会导致错误而第一个和第二个工作正常。
int *p1; //Ok
const int *p1;//Ok
int *const p1; //error: default initialization of an object of const type 'int *const'
const int *const p1; //error: default initialization of an object of const type 'const int *const'
PS:我知道在声明它们时初始化所有指针或至少将它们的值设置为 nullptr 或 0 是一种很好的做法。我问这个问题是因为我想了解它背后的概念。
【问题讨论】:
标签: c++ pointers constants lvalue rvalue