Controlled型(Ada)
Ada.FinalizationのControlledまたはLimited_Controlledから派生し、Initialize・Adjust・Finalizeを上書きして、既定の初期化・代入・スコープを出るときの処理を定義できるAdaの型。
- 概念URI
https://comcomponent.com/knowledge/ada-controlled-type/
- 別名・表記
- Ada.Finalization.Controlled / Limited_Controlled / 被制御型
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- Controlled型(Ada)はRAII(Resource Acquisition Is Initialization)の実装を担います。Controlled型のFinalizeはスコープを出るときや例外で抜けるときにも呼ばれるため、解放をFinalizeに書くと、C++でデストラクタに解放を書くRAIIと同じく、呼び出し側が解放を書かずに済む。 / 確度: 確立した関係 / 確認日: 2026-11-01 出典
- Controlled型(Ada)はAda.Unchecked_Deallocationを利用します。本記事のBuffer型は、Limited_ControlledのFinalizeの中でUnchecked_Deallocationのインスタンスを呼び、持っている配列を解放する。 / 確度: 条件付きの関係 / 確認日: 2026-11-01 出典 出典
- Controlled型(Ada)はメモリリークを軽減します。解放をFinalizeに書くと、呼び出し側が解放を書き忘れることがなくなる。本記事の例では、数えるプールを使ったBuffer型でブロックを出ると確保と解放の回数がそろい、使用量が0に戻った。 / 確度: 条件付きの関係 / 確認日: 2026-11-01 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。