gpt4 book ai didi

c++ - 存储持续时间与生命周期

转载 作者:可可西里 更新时间:2023-11-01 18:07:52 25 4
gpt4 key购买 nike

谁能给我解释一下对象的storage durationlifetime 之间的区别?我认为它们表示同一件事。我找到了一个定义:

Lifetime of an object is equal to or is nested within the lifetime of its storage.

所以根据这个,有一点我看不出的区别。另外,如果有人能用低层次的术语向我解释这些概念,我将不胜感激。我宁愿考虑 memoryaddressesdata 而不是高级的东西。谢谢。

Link to the definition above

最佳答案

存储时长是以下四个词之一:

  • 自动
  • 静态
  • 动态
  • 线程(本地)

就是这样。它会告诉您创建和销毁对象时适用的规则。

Lifetime 是对象可用的程序运行时间部分。通常这是从构造到销毁,但对于普通类型(那些没有构造函数或析构函数的类型),它是“从内存分配到内存被释放或用于另一个对象”。

所以两者是相关的,但它们并不完全相同。具有不同存储持续时间的两个对象可能具有相关且几乎相同的生命周期(例如自动 unique_ptr 及其管理的动态对象),并且具有相同存储持续时间的两个对象可能具有完全不同的生命周期(尤其是两个动态对象)。

关于c++ - 存储持续时间与生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21392160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com