CreateManagedObject

CreateManagedObject[expr,f]

创建一个托管对象,当它不再被引用时计算 f[expr].

更多信息

  • 许多需要指针对象的函数将自动展开包含指针的托管表达式.
  • CreateManagedObject[expr,man] 创建一个新的表示 expr 的托管对象,它与 ManagedObject man 共享引用计数 (reference count).
  • 只有活动的托管对象才会在不再被引用时计算释放的函数.
  • 可用 UnmanageObject 取消托管对象的激活.

范例

打开所有单元关闭所有单元

基本范例  (2)

创建一个托管对象:

获取其中包含的表达式:

当托管对象不再被引用时,对 f[expr] 进行计算:

可能存在的问题  (3)

使用 With 时,托管对象通常会过早释放,其中,引用计数在函数主体中最后一次使用该符号后递减:

可用 Module 来代替,引用计数在最后才递减:

一旦托管表达式对象的引用计数为零,就对 func[expr] 进行计算. 但是,expr 可能也存在于托管表达式之外,因此,即使在引用计数名义上为零之后也继续存在:

在许多情况下,引用计数似乎为零,但由于 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 语言. 2023. "CreateManagedObject." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/CreateManagedObject.html.

APA

Wolfram 语言. (2023). CreateManagedObject. Wolfram 语言与系统参考资料中心. 追溯自 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 ]}