私の上司がこの質問に答えましたwhy ... (three points) in catch block is exist?は非常にエレガントに答えました。キャッチ(...)をスローするか値渡しするか参照する
しかし、私が何かを考えさせられた(そして、できれば私の以前の悪い質問を補って)い、値(つまり、深いコピーが取られている)、またはによってによって捕捉された例外再スロー
catch(...){
throw;
}
を行います参照?
私の上司がこの質問に答えましたwhy ... (three points) in catch block is exist?は非常にエレガントに答えました。キャッチ(...)をスローするか値渡しするか参照する
しかし、私が何かを考えさせられた(そして、できれば私の以前の悪い質問を補って)い、値(つまり、深いコピーが取られている)、またはによってによって捕捉された例外再スロー
catch(...){
throw;
}
を行います参照?
標準は言う:なしオペランドと
スロー-expressionが現在処理の例外を再スロー。例外は既存の一時的なものと再アクティブ化されます。新しい一時例外オブジェクトは作成されません。
- ISO/IEC 14882:2011セクション15.1。 8
つまり、元の例外オブジェクトを使用した例外伝播を続行するだけです。私はこれがあなたが「参考文献」で意味するものに類似していると思います。
草案§5.17/ 3で位置が変更されましたが、言い回しと意図は残ります。 [リンクはこちら](http://eel.is/c++draft/expr.throw#3)そして、この引用* "ハンドラが再スローされて終了する場合、コントロールは同じ例外のために別のハンドラに渡されます" * [here](http://eel.is/c++draft/except#except.throw-4 )。 – Niall
_再スローされた例外オブジェクトは元の例外オブジェクトであり、コピーではありません。_ [try、throw and catchステートメント](https://msdn.microsoft.com/en-GB/library/)の注釈から抜粋しました。 6dekhbbc.aspx)。だからそれに基づいて、私は参考にすると思いますか? –
[C++でデフォルトのcatch throw文を値渡しまたは参照渡しする可能性があります](http://stackoverflow.com/questions/9562053/do-the-default-catch-throw-statements-in-c-pass- –