副作用のあるコピーコンストラクターを持つ例外クラスについて考えてみます。
コンパイラはここでコピーコンストラクタの呼び出しをスキップできますか?
try {
throw ugly_exception();
}
catch(ugly_exception) // ignoring the exception, so I'm not naming it
{ }
これはどうですか:
try {
something_that_throws_ugly_exception();
}
catch(ugly_exception) // ignoring the exception, so I'm not naming it
{ }
(はい、これはすべて非常に醜いことを知っています、これは別の質問に触発されました)