エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
longjmpは例外の代わりになるか::例外のないC++
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
longjmpは例外の代わりになるか::例外のないC++
2006-04-13 前回列挙した例外に変わる方法の順序とは異なりますが、最も例外処理に近いlongjmpについて... 2006-04-13 前回列挙した例外に変わる方法の順序とは異なりますが、最も例外処理に近いlongjmpについて、最初に考察してみたいと思います。 例外処理におけるthrowも、longjmpも、関数の枠組みを越えて大域分岐する点では同じです。決定的に違うのは、分岐途中にある自動オブジェクトのデストラクタを呼び出すかどうかです。この一点を除けば、setjmpとlongjmpを使って、例外処理と同様の機能を作成することも不可能ではありません。 では、JavaやDelphiのようにfinally節を設けてはどうでしょう。確かにそうすれば、(例外発生時に関しては)デストラクタの代わりにはなりそうです。しかし、自動オブジェクトが複数あった場合、監視ブロックが複雑に入れ子になりますし、そもそもデストラクタを意識的に使わないということが、C++で果たして可能なのか、かなり疑問があります。 他に、使い