a) ip 为 int 类型指针,值不确定(编译器决定);i 为 int 类型变量,值不确定(同前);r 为 int 类型引用绑定到变量 i 上,值和 i 的值一样。
b) 变量 i 为 int 类型,值不确定; ip 为 int 类型指针,值为 0。
c) ip 为 int 类型指针,值不确定;ip2 为 int 类型变量,值不确定。
Exercises Section 2.4
Ex2.26
a) constint buf; // 非法,const 修饰的变量必须初始化
b) int cnt = 0; // 合法
c) const in sz = cnt; // 合法
d) ++cnt; // 合法
++sz; // 非法,被 const 修饰的对象的值不能更改
Exercises Section 2.4.2
EX2.27
a) int i = -1, &r = 0; // 变量 i 合法,引用 r 非法,引用不能绑定到字面值上
b) int *const p2 = &i2; // 合法
c) constint i = -1, &r = 0; // 变量 i 合法,引用 r 非法,引用不能绑定到字面值上
d) cnost int *const p3 = &i2; // 合法
e) constint *p1 = &i2; // 合法
f) constint &const r2; // 非法,引用 r2 必须绑定一个对象
g) constint i2 = i, &r = i; // 合法
Ex2.28
a) int i, *const cp; // 指针 cp 非法,必须初始化
b) int *p1, *const p2; // 指针 p2 非法,必须初始化
c) constint ic, &r = ic; // 变量 ic 非法,必须初始化
d) constint *const p3; // 指针 p3 非法,必须初始化
e) constint *p; // 合法
Ex2.29
a) i = ic; // 合法
b) p1 = p3; // 非法,普通指针不能绑定 const 修饰的对象
c) p1 = ⁣ // 非法,普通指针不能绑定 const 修饰的对象
d) p3 = ⁣ // 合法
e) p2 = p1; // 合法
f) ic = *p3; // 非法,被 const 修饰的对象的值不能更改
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端