r1 = v2;
非法,普通的int &不能绑定到int常量上(非常量可以转换为常量,常量不能转换为非常量)
p1 = p2; p2 = p1;
非法,p1仅是一个普通指针,要存放常量对象的地址,必须使用指向常量的指针
合法,int *可以转换为const int *
p1 = p3; p2 = p3;
非法,p1仅是一个普通指针,要存放常量对象的地址,必须使用指向常量的指针
合法,p2和p3都具有底层const,赋值操作不影响p3的顶层const
r1 = v2;
非法,普通的int &不能绑定到int常量上(非常量可以转换为常量,常量不能转换为非常量)
p1 = p2; p2 = p1;
非法,p1仅是一个普通指针,要存放常量对象的地址,必须使用指向常量的指针
合法,int *可以转换为const int *
p1 = p3; p2 = p3;
非法,p1仅是一个普通指针,要存放常量对象的地址,必须使用指向常量的指针
合法,p2和p3都具有底层const,赋值操作不影响p3的顶层const