私はC++のアマチュアです。私はいくつかのWin32APIコードを書いていますが、ハンドルと奇妙に複合的に割り当てられたオブジェクトがたくさんあります。だから私は疑問に思っていました-リソース管理を簡単にするラッパークラスはありますか?
たとえば、データをロードしたい場合は、でファイルを開いてCreateFile()
を取得しHANDLE
ます。それが終わったら、私はそれを呼び出す必要がCloseHandle()
あります。ただし、かなり複雑なロード関数の場合、例外は言うまでもなく、数十の出口ポイントが考えられます。
CloseHandle()
したがって、実行がスコープを離れると自動的に呼び出される、ある種のラッパークラスでハンドルをラップできれば素晴らしいと思います。さらに良いことに、参照カウントを実行できるので、他の関数に出し入れすることができ、最後の参照がスコープを離れたときにのみリソースを解放します。
コンセプトはシンプルですが、標準ライブラリにそのようなものはありますか?ちなみに、私はVisual Studio 2008を使用していますが、Boostなどのサードパーティのフレームワークをアタッチしたくありません。