如果a是真的那么y会发生什么?你被宣布了吗?

时间:2013-11-06 01:52:49

标签: c++

在给定的代码中......

....  
....  
if(a)  
{  
    int x;  
}  
else  
{  
    int y;  
}  
....  

如果a为真,那么y会发生什么? 你被宣布了吗? 我可以在这段代码后使用x和y吗?

1 个答案:

答案 0 :(得分:2)

如果atrue,那么y永远不存在 - 只有在执行进入定义它的块后才会存在,如果永远不会发生,它永远不存在于所有

无论执行if语句的哪一段,当执行离开该范围时,该范围中定义的变量都会被销毁,因此在此代码结束后,x和{{y 1}}存在,所以根本不能使用。