[解決済み] なぜ例外をreference-to-constとしてキャッチするのですか?
2023-02-15 10:24:10
質問
例外は参照としてではなく、reference-to-constとして捕捉するのが良いと何度も聞いたり読んだりしています。なぜでしょうか。
try {
// stuff
} catch (const std::exception& e) {
// stuff
}
よりも良い。
try {
// stuff
} catch (std::exception& e) {
// stuff
}
どのように解決するのですか?
必要です。
- 例外にポリモーフィックにアクセスできるようにするための参照
- パフォーマンスを向上させ、オブジェクトを変更しないことをコンパイラに伝えるための const です。
後者は だけ 前者ほど重要ではありませんが、const を落とす唯一の本当の理由は、例外に変更を加えたいことを知らせることでしょう (通常は、より高いレベルにコンテキストを追加して再スローしたい場合にのみ有用です)。
関連
-
[解決済み】構造体のベクター初期化について
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】c++で.txtファイルから2次元の配列に読み込む
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] Static readonly」対「const」。
-
[解決済み】プログラムを停止/終了させることなく、完全な例外トレースバックをキャッチして表示する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Visual Studio 2015で「非標準の構文。'&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】C++エラーです。"配列は中括弧で囲まれたイニシャライザーで初期化する必要がある"
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み】エラー。switchステートメントでcaseラベルにジャンプする
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】指定範囲内の乱数で配列を埋める(C++)
-
[解決済み】Enterキーを押して続行する
-
[解決済み] C++のcatchブロック - 値または参照で例外をキャッチ?重複