1. メンバ変数のメンバ関数内での リソース管理 高橋晶(Akira Takahashi) id:faith_and_brave @cpp_akira Boost.勉強会 #8 大阪 2012/02/11(土) 2. RAII • C++には、RAII(Resource Acquisition Is Initialization:リソース 確保は初期化である)というイディオムがある。 • 簡単に言えば、確保したリソースはデストラクタで自動的に 解放する、というもの。 void f() { File file; file.open("a.txt"); if (!file.write("xxxxxxxx")) { return; // 途中で抜けてもファイルは閉じられる } } // ファイルが閉じられる • これはローカル変数には非常に有効。
![Scope Exit](https://cdn-ak-scissors.b.st-hatena.com/image/square/55fdedb315edbccae0fa74ee7d41fd6bc956237f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fscopeexit-120210204453-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)