PHP6でgoto文が追加されることに関してDo You PHP?で扱っているのでふと使い道を考えてみた。 結果、3秒... PHP6でgoto文が追加されることに関してDo You PHP?で扱っているのでふと使い道を考えてみた。 結果、3秒で思い当たったのがOpenCVの__BEGIN__,__END__。 こいつらはマクロでして、OpenCVについて語ってもしょうがない*1ので細かいことは割愛しますが #define __BEGIN__ { #define __END__ goto exit; exit: ; } #define __CLEANUP__ #define EXIT goto exit ってな定義になっていてエラーが発生したときなんかにEXITするとブロックの外に行く仕組み。 そして、ブロックのそとでメモリ開放などの後処理をする。これで必ずメモリ開放される。…ということらしいです。例外処理(try catch finally)がないから苦肉の策でって感じですかね。 Cの話だけだとPHPerらしさ
記事へのコメント0件
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています