(这在概念上类似于家庭作业问题,但你给我的答案不能用来回答问题,只是为了帮助我理解这个概念。)
说我有这个C ++程序:
int main(){
int i = 5;
if(true){
int i = 3;
[REFERENCE POINT]
}
}
让我们将第一个版本的“i”(等于5的那个)称为i(1),将另一个版本(等于3的那个)称为i(2)。
我知道范围内的变量与可见变量之间存在一些差异,所以我试图在参考点确定哪个“我”将在范围内,哪些是可见的,哪些是什么有区别吗?
编辑:我一直在阅读范围内的所有变量都是可见的,除非它们被覆盖。那么说i(1)和i(2)都在范围内是否正确,但只有i(2)可见(在参考点)?