翻訳と辞書
Words near each other
・ RAID
・ raid
・ RAID-Z
・ RAIDEN FIGHTERS ACES
・ raider
・ RaidersSphere Other missions
・ RaidersSphere3rd
・ RaiderZ
・ Raids
・ RAIDZ
・ RAII
・ RAIJIN COMIC
・ RAIJIN COMICS
・ RAIKA
・ RAIKO
・ Rail
・ rail
・ Rail Magazine
・ rail road transportation
・ RaiL soft


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

RAII : ウィキペディア日本語版
RAII
RAIIResource Acquisition Is Initialization、日本語では「リソースの確保は初期化時に」、「リソースの取得と初期化」など)は、資源(リソース)の確保と解放を変数の初期化と破棄処理に結び付けるというプログラミングのテクニックで、特にC++D言語で一般的である。
RAIIでは資源の取得を変数の構築(初期化)時、返却を破壊時に行う。自動変数がスコープを離れるときデストラクタが呼ばれるため、変数の寿命が終わるとすぐに資源が返却されることが保障できるようになった。これは例外が起こったときでも同様であるため、RAIIは例外安全なコードを書くための鍵となる概念となった (Sutter 1999)。
== 典型的な用法 ==
RAIIはよくマルチスレッドアプリケーションにおいてスレッドのロックの管理に用いられる。ほかにはファイル操作にも用いられ、標準C++ライブラリファイルストリームでは、オブジェクトのコンストラクタでファイルストリームを開き、デストラクタで閉じる。C++ではオブジェクトをスタックに割り当てることが可能で、このようにC++のスコープの機構はファイルアクセスの管理に活用できる。
後の例のようにRAIIは例外安全の達成にも活用される。RAIIを使えばあちこちにtry-catchブロックを用いることなくリソースリークを防げる。
動的に確保されたメモリの所有権もRAIIで管理できる。この用途に標準C++ライブラリではunique_ptrが用意されている。さらに、共有されるオブジェクトの生存期間は、C++の場合Boostboost::shared_ptrC++11ではstd::shared_ptr)・参照カウント方式、boost::intrusive_ptr・侵入型参照カウント方式、LokiポリシーベースのLoki::SmartPtrによって所有権を共有するという管理の仕方ができる。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「RAII」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.