Execution notebook · C++
作用域与生命周期追踪器
沿着高亮代码逐行执行:名字会因进入或离开作用域而可见或隐藏,对象则按自己的存储期创建和销毁。引用与指针只是观察这些对象的不同方式。
先分清两件事
作用域回答“这个名字能否写出来”,生命周期回答“那个对象现在是否还存在”。两者经常同步变化,但并不等价。
案例
步骤 1 / 1引用为什么更“稳”
引用在初始化时绑定到一个对象,之后不能改绑,也没有“空引用”这一常规状态;但它不会延长普通局部对象的生命周期。
指针为什么要追踪
指针可以为空、改为指向别处,也可能在目标对象销毁后保留旧地址。地址仍像一个数值,并不证明该地址上的对象仍然存在。
判断挑战
函数返回后,下面哪一种说法正确?选择后立即查看原因。
请选择一个判断。