C++はデストラクタを利用して例外のスロー時には
デストラクタを利用して、
自動的にセマフォを開放してソケットをシャットダウンできる。
GCと、動作タイミングの予測可能なデストラクタを天秤に掛けると
便利なのは後者。リークやリソースのロックに対する予防措置が
完璧なソースを書きやすい。