考虑一个带有副作用的复制构造函数的异常类.
编译器是否可以跳过调用复制构造函数:
try {
throw ugly_exception();
}
catch(ugly_exception) // ignoring the exception, so I'm not naming it
{ }
Run Code Online (Sandbox Code Playgroud)
那这个呢:
try {
something_that_throws_ugly_exception();
}
catch(ugly_exception) // ignoring the exception, so I'm not naming it
{ }
Run Code Online (Sandbox Code Playgroud)
(是的,我知道这一切都非常难看,这是受到另一个问题的启发)