我已经读过几次(例如,这里的Compiler: What if condition is always true / false)任何体面的 c++ 编译器都会选择退出类似
if(false)
{
...
}
但是如果有人故意跳进这个if(false)
区块怎么办。我有这样的想法
#include <iostream>
void func(int part){
switch (part) {
case 0:{
if(false)
case 1:{std::cout << "hello" << std::endl;}
break;
}
default:
break;
}
}
int main()
{
func(0);
func(1);
return 0;
}
是否有任何像样的 c++ 编译器会尊重这种跳转,或者最终会出现一些选择退出的问题?