关于C++中cout的输出问题,请进!
请解释下面的代码在屏幕上输出什么,为什么!
int f(void)
{
throw "Help!";
return 0;
}
int main(void)
{
try{
cout<<"Before"<<f()<<"After"<<endl;
}
catch(const char * s){
cout << s << endl;
}
return 0;
}
1、如果你觉得输出是:Help!,那么为什么"Before"和"After"没有被显示?
2、如果把抛出异常的函数f()后面输出的字符串"After"放在一个函数(比如g())中打印,而上面的代码改为cout<<"Before"<<f()<<g()<<endl;则可以输出"After",而对于"Before"即使放在一个函数中也不能正常输出,为什么?