CreateManagedObject

CreateManagedObject[expr,f]

f[expr]を参照されなくなってから評価する管理されたオブジェクトを作成する.

詳細

  • ポインタオブジェクトを期待する関数の多くは,ポインタを含む管理されたオブジェクトを自動的にアンラップする.
  • CreateManagedObject[expr,man]expr を表す新たな管理されたオブジェクトを作成する.これは,ManagedObject man と参照数を共有する.
  • アクティブな管理されたオブジェクトしか,参照されなくなったときに解放関数を評価しない.
  • 管理されたオブジェクトはUnmanageObjectで非アクティブにすることができる.

例題

すべて開くすべて閉じる

  (2)

管理されたオブジェクトを作成する:

含まれる式を得る:

f[expr]は,管理されたオブジェクトが参照されなくなると評価される:

考えられる問題  (3)

Withを使っていると管理されたオブジェクトの解放が早すぎることがある.そうなると,本体でシンボルが最後に使用された後に参照数が減少する:

代りにModuleを使うと参照数は最後にしか減少しない:

func[expr]は管理されたオブジェクトの参照数がゼロになると評価される.ただし,expr は管理された式の外に存在する場合があり,その参照数が名目上ゼロになった後でも続行することができる:

参照数が0に見えるがそれはOutのためではないことがよくある:

Outで管理されたオブジェクトにアクセスする:

Wolfram Research (2023), CreateManagedObject, Wolfram言語関数, https://reference.wolfram.com/language/ref/CreateManagedObject.html.

テキスト

Wolfram Research (2023), CreateManagedObject, Wolfram言語関数, https://reference.wolfram.com/language/ref/CreateManagedObject.html.

CMS

Wolfram Language. 2023. "CreateManagedObject." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CreateManagedObject.html.

APA

Wolfram Language. (2023). CreateManagedObject. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CreateManagedObject.html

BibTeX

@misc{reference.wolfram_2024_createmanagedobject, author="Wolfram Research", title="{CreateManagedObject}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/CreateManagedObject.html}", note=[Accessed: 05-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_createmanagedobject, organization={Wolfram Research}, title={CreateManagedObject}, year={2023}, url={https://reference.wolfram.com/language/ref/CreateManagedObject.html}, note=[Accessed: 05-November-2024 ]}