catch ブロックの引き数に対してクラス型を指定する場合 (exception_declaration)、
コンパイラーはコピー・コンストラクターを使用して、その引き数を初期化します。
その引き数に名前が入っていなければ、コンパイラーは一時オブジェクトを初期化し、ハンドラーがあるときはそれを破棄します。
ISO C++ 仕様では、冗長と思われる場合にコンパイラーが一時オブジェクト を作成する必要はありません。コンパイラーは、この規則を利用してより効率的な最適化コードを作成します。 プログラムをデバッグする場合、特にメモリー問題のデバッグにおいては、このことを考慮に入れてください。
関連参照