2.26:下面哪些句子是合法的?如果有不合法的句子,请说明为什么?

(a)const int buf;  (b)int cnt=0;

(c)const int sz=cnt;   (d)++cnt;++sz;

a)不合法。const 对象必须初始化。一旦创建就不可修改。

b)合法。定义了一个int类型的变量cnt,其值初始化为0;

c)合法。定义了一个const类型的int类型变量sz,并用cnt的值拷贝初始化sz。

d)不合法。++cnt操作合法,但是++sz不合法,因为sz是const对象,其值一旦创建就不可更改。

 posted on 2018-07-23 16:46  linlh  阅读(150)  评论(0编辑  收藏  举报