有一个类 Edge:
class Edge {};
下面代码,我的理解是,有一个指向 b
的地址引用的指针变量 a
。
Edge b;
Edge* const &a = &b;
那么有个疑问,const 的位置能否提前(C++ 中是否存在这种语法),类似:
const Edge* &a = &b; // 这段代码我测试是编译不过的
const Edge* const &a = &b; // 但是如果后面的 const 保留就可以编译过了
我没有搜到相关的资料,希望能够得到各位道友指点解惑。
从右往左读,*做分割。
int const *
是指向 const int 的指针。int * const
是const 指针指向int。int const * const *
是指向(指向const int 的 const 指针)的指针。const
在*
左边的时候修饰的是左边的类型,const
在*
右边的时候修饰的是指针。