C++ 如果a是真的,那么y会怎么样?y被申报了吗?
在给定的代码中C++ 如果a是真的,那么y会怎么样?y被申报了吗?,c++,C++,在给定的代码中 .... .... if(a) { int x; } else { int y; } .... 如果a为真,那么y会发生什么情况? y是否被声明? 在这个代码之后我能使用x和y吗 如果a为true,则y永远不存在——它只有在执行进入定义它的块之后才存在,如果从未发生过,它就根本不存在 无论执行语句的哪个分支,当执行离开该范围时,该范围中定义的变量将被销毁,因此在该代码结束后,既不存在x也不存在y,因此两者都不能使用
....
....
if(a)
{
int x;
}
else
{
int y;
}
....
如果a为真,那么y会发生什么情况?y是否被声明?
在这个代码之后我能使用x和y吗 如果
a
为true
,则y
永远不存在——它只有在执行进入定义它的块之后才存在,如果从未发生过,它就根本不存在
无论执行语句的哪个分支,当执行离开该范围时,该范围中定义的变量将被销毁,因此在该代码结束后,既不存在x
也不存在y
,因此两者都不能使用