对象存在与对象生存期不同吗



这听起来可能很有哲理,但事实并非如此:在C++中,各种(类、标量(对象是否可以在其生存期之外存在?物体的存在是什么?什么是物体的创造?对象是在其生存期开始时创建的吗?

(为了清楚起见,进行了编辑:这个问题并不是专门关于类类型的。(

我非常困惑,需要有人向我解释术语和基本概念。

注:存在是一个事物的事实。这是最基本的哲学概念。它不是对象的属性,我不知道也不关心"存在"一词在标准文本中的出现次数。教科书可能很少说事物"存在"。我不记得曾经读过数字"存在"于寄存器中,或者表达式"存在"在源代码中。数字可以放在寄存器中,源代码中有表达式

如果我们可以引用一个对象,就意味着它存在。如果指针指向某个对象,则该对象存在

这一点最好用[interro.object]/1:来理解

当隐式更改联合的活动成员时,或当创建临时对象时([conv.rval],[class.temporary]

第二句话回答了你的问题。如果一个物体能够在被描述为"其寿命"的时期之外(如在其建造和销毁期间(占据存储区域,那么很明显,一个物体必须能够在其寿命之外存在

C++中的对象是一个抽象概念。对于机器代码来说,它只是一个巨大的虚拟字节数组。

物理"对象"是内存中的一堆字节,这些字节被分配用于某些目的,并与作用于这些字节的一些函数相关联。该对象的生存期是指从这些字节用于该对象的目的到不再使用这些字节的时间。它们后来仍然存在,但它们可以被其他对象使用。

最新更新