学习目标:
const限定符
学习内容:
1.const的引用
2.指针和const
3.顶层const
4.constexpr和常量表达式
题目解析:
2.26
(a)非法,const对象必须初始化
(b)合法
(c)合法,cnt的值赋值给sz
(d)合法,非法const对象不能改变其值
2.27
(a)非法,普通引用不能初始化字面值
(b)不确定,如果i2类型不同非法,类型相同i2是常量非法不是常量合法
(c)合法,常量引用可以初始化字面值
(d)合法
(e)合法
(f)非法
(g)合法
2.28
int i,*const cp; //int类型的i和常量指针cp
int *p1,*const p2;//int类型的p1指针和指针常量p2
const int ic,&r = ic;//对常量的引用r绑定常量ic
const int *const p3;//p3是指向常量的常量指针
const int *p;//指向常量的指针p
2.29
ic = i; //合法
p1 = p3;//非法
p1 = ⁣//非法,p1是一个普通指针
p3 = ⁣//非法
p2 = p1;//非法
ic = *p3;//合法
2.30
低层const;普通int型;指向int的指针p1,int引用类型与v1绑定;
指向常量的指针p2指向v2的地址低层const,靠左的是低层const靠右的是顶层const,低层const。
2.31
非法,普通引用不能绑定到常量上