タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

raiiに関するizariuo440のブックマーク (3)

  • 2005-05-26

    kaza ブロッグより. この記事はおもしろい。 C# is VB with semicolons! そして、この記事も。 Several of the libraries in the CLR 1.x were written in VB, and there will be even more VB code in the CLR 2.0.とあります。CLR1.XよりもCLR2.0の方がVBで書かれたライブラリが多いそうだ。 meiさんのところで昔書いたコメント(id:akiramei:20040725)のフォローアップということで. 基的には BCL が別にどの言語で書かれていたところで,利用者にとって直接影響が無い範囲内ではせいぜい話のネタ止まりです.ただ,たまにメタ推理の材料に使えるのも確かで,例えば Managed DirectX は Managed C++ (そのうち C+

    2005-05-26
  • RAII - Wikipedia

    RAII(Resource Acquisition Is Initialization)は、日語では「リソース取得は初期化である」「リソースの確保は初期化時に」「リソースの取得と初期化」などの意味を持ち、資源(リソース)の確保と解放を、クラス型の変数の初期化と破棄処理に結び付けるというプログラミングのテクニックである。特にC++とD言語で一般的であり、デストラクタをサポートしないC言語などに対する優位性や利便性のうちのひとつとなっている。 RAIIでは、資源の取得をクラス型変数の構築(初期化)時に、また返却を破壊時に行う。特にプログラムの制御フローが自動変数の属するブロックを抜けるとき、その変数のデストラクタが自動的に呼ばれるため、デストラクタを適切に記述したクラス型変数の寿命が終わるとすぐに資源が返却されることが保証できるようになる。これは例外が発生したときでも同様であるため、RAII

  • いやなブログ - RAII と setjmp/longjmp

    RAII と setjmp/longjmp C++ には RAII (Resource Acquisition Is Initialization) というイディオムがあります。これはリソースの開放を確実に行うためのテクニックとして C++ のプログラムで広く用いられています。しかし、RAII も setjmp/longjmp という落とし穴があります。 RAIIの基 次のプログラムはメモリリークを起こします。 #include <string> using namespace std; int main() { string *p = new string; return 0; } このプログラムをビルドして valgrind でテストすると次のようなエラーメッセージが表示されます。4バイトのメモリリークが検出されました。 % g++ test.cc % valgrind ./a.ou

  • 1