Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果a是真的,那么y会怎么样?y被申报了吗?_C++ - Fatal编程技术网

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
,因此两者都不能使用