Execution notebook · C++

作用域与生命周期追踪器

沿着高亮代码逐行执行:名字会因进入或离开作用域而可见或隐藏,对象则按自己的存储期创建和销毁。引用与指针只是观察这些对象的不同方式。

先分清两件事 作用域回答“这个名字能否写出来”,生命周期回答“那个对象现在是否还存在”。两者经常同步变化,但并不等价。

案例

步骤 1 / 1

        
        

引用为什么更“稳”

引用在初始化时绑定到一个对象,之后不能改绑,也没有“空引用”这一常规状态;但它不会延长普通局部对象的生命周期。

指针为什么要追踪

指针可以为空、改为指向别处,也可能在目标对象销毁后保留旧地址。地址仍像一个数值,并不证明该地址上的对象仍然存在。

判断挑战

函数返回后,下面哪一种说法正确?选择后立即查看原因。